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/08/12 17:33:19 UTC

svn commit: r984833 - in /subversion/trunk/subversion/bindings/javahl: native/ src/org/apache/subversion/javahl/ src/org/tigris/subversion/javahl/

Author: hwright
Date: Thu Aug 12 15:33:19 2010
New Revision: 984833

URL: http://svn.apache.org/viewvc?rev=984833&view=rev
Log:
JavaHL: Add a depth parameter to the repos lslocks API.

* subversion/bindings/javahl/native/SVNRepos.h
* subversion/bindings/javahl/native/SVNRepos.cpp
  (lslocks): Add depth parameter, and update API call.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
  (Java_org_apache_subversion_javahl_SVNRepos_lslocks): Update arg list,
    and de-map the java depth object.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
  (lslocks): Add Depth parameter.

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java
  (lslocks): Update backward compat wrapper.

Modified:
    subversion/trunk/subversion/bindings/javahl/native/SVNRepos.cpp
    subversion/trunk/subversion/bindings/javahl/native/SVNRepos.h
    subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
    subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
    subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java

Modified: subversion/trunk/subversion/bindings/javahl/native/SVNRepos.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNRepos.cpp?rev=984833&r1=984832&r2=984833&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNRepos.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNRepos.cpp Thu Aug 12 15:33:19 2010
@@ -613,7 +613,7 @@ void SVNRepos::upgrade(File &path, Repos
               );
 }
 
-jobject SVNRepos::lslocks(File &path)
+jobject SVNRepos::lslocks(File &path, svn_depth_t depth)
 {
   SVN::Pool requestPool;
   svn_repos_t *repos;
@@ -631,8 +631,8 @@ jobject SVNRepos::lslocks(File &path)
                              requestPool.pool()), NULL);
   fs = svn_repos_fs (repos);
   /* Fetch all locks on or below the root directory. */
-  SVN_JNI_ERR(svn_repos_fs_get_locks(&locks, repos, "/", NULL, NULL,
-                                     requestPool.pool()),
+  SVN_JNI_ERR(svn_repos_fs_get_locks2(&locks, repos, "/", depth, NULL, NULL,
+                                      requestPool.pool()),
               NULL);
 
   JNIEnv *env = JNIUtil::getEnv();

Modified: subversion/trunk/subversion/bindings/javahl/native/SVNRepos.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNRepos.h?rev=984833&r1=984832&r2=984833&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNRepos.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNRepos.h Thu Aug 12 15:33:19 2010
@@ -42,7 +42,7 @@ class SVNRepos : public SVNBase
 {
  public:
   void rmlocks(File &path, StringArray &locks);
-  jobject lslocks(File &path);
+  jobject lslocks(File &path, svn_depth_t depth);
   void verify(File &path, Revision &revisionStart, Revision &revisionEnd,
               ReposNotifyCallback *notifyCallback);
   void setRevProp(File &path, Revision &revision,

Modified: subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp?rev=984833&r1=984832&r2=984833&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp Thu Aug 12 15:33:19 2010
@@ -30,6 +30,7 @@
 #include "JNIStringHolder.h"
 #include "JNIByteArray.h"
 #include "SVNRepos.h"
+#include "EnumMapper.h"
 #include "Revision.h"
 #include "InputStream.h"
 #include "OutputStream.h"
@@ -407,7 +408,7 @@ Java_org_apache_subversion_javahl_SVNRep
 
 JNIEXPORT jobject JNICALL
 Java_org_apache_subversion_javahl_SVNRepos_lslocks
-(JNIEnv *env, jobject jthis, jobject jpath)
+(JNIEnv *env, jobject jthis, jobject jpath, jobject jdepth)
 {
   JNIEntry(SVNRepos, lslocks);
   SVNRepos *cl = SVNRepos::getCppObject(jthis);
@@ -421,7 +422,7 @@ Java_org_apache_subversion_javahl_SVNRep
   if (JNIUtil::isExceptionThrown())
     return NULL;
 
-  return cl->lslocks(path);
+  return cl->lslocks(path, EnumMapper::toDepth(jdepth));
 }
 
 JNIEXPORT void JNICALL

Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java?rev=984833&r1=984832&r2=984833&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java Thu Aug 12 15:33:19 2010
@@ -217,10 +217,12 @@ public interface ISVNRepos {
 	/**
 	 * list all locks in the repository
 	 * @param path              the path to the repository
+     * @param depth             the depth to recurse
 	 * @throws ClientException  throw in case of problem
-	 * @since 1.2
+	 * @since 1.7
 	 */
-	public abstract Set<Lock> lslocks(File path) throws ClientException;
+	public abstract Set<Lock> lslocks(File path, Depth depth)
+            throws ClientException;
 
 	/**
 	 * remove multiple locks from the repository

Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java?rev=984833&r1=984832&r2=984833&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNRepos.java Thu Aug 12 15:33:19 2010
@@ -205,10 +205,12 @@ public class SVNRepos implements ISVNRep
     /**
      * list all locks in the repository
      * @param path              the path to the repository
+     * @param depth             the depth to recurse
      * @throws ClientException  throw in case of problem
-     * @since 1.2
+     * @since 1.7
      */
-    public native Set<Lock> lslocks(File path) throws ClientException;
+    public native Set<Lock> lslocks(File path, Depth depth)
+            throws ClientException;
 
     /**
      * remove multiple locks from the 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=984833&r1=984832&r2=984833&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 Aug 12 15:33:19 2010
@@ -460,7 +460,9 @@ public class SVNAdmin
         {
             Set<org.apache.subversion.javahl.Lock> aLocks =
                                                     aSVNAdmin.lslocks(
-                                                        new File(path));
+                                                        new File(path),
+                                                        Depth.toADepth(
+                                                              Depth.infinity));
             Lock[] locks = new Lock[aLocks.size()];
 
             int i = 0;