Author: vmpn
Date: Mon Jun 25 01:10:50 2012
New Revision: 1353373

URL: http://svn.apache.org/viewvc?rev=1353373&view=rev
Log:
On the javahl-ra branch:

Move logic from the JNI functions into their C++ counterpart classes for
consistency with the rest of the code

[ in subversion/bindings/javahl/native ]

* org_apache_subversion_javahl_ra_SVNRa.cpp
  (Java_org_apache_subversion_javahl_ra_SVNRa_getDatedRevision,
   Java_org_apache_subversion_javahl_ra_SVNRa_getLocks,
   Java_org_apache_subversion_javahl_ra_SVNRa_checkPath):
    Move logic into SVNRa class

* SVNRa.h,
  SVNRa.cpp
  (getDatedRev, getLocks, checkPath): Move logic from SVNRa JNI functions

Modified:
    subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp
    subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h
    
subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp

Modified: 
subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp
URL: 
http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp?rev=1353373&r1=1353372&r2=1353373&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp 
(original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.cpp 
Mon Jun 25 01:10:50 2012
@@ -97,11 +97,15 @@ SVNRa::dispose(jobject jthis)
 }
 
 svn_revnum_t
-SVNRa::getDatedRev(apr_time_t tm)
+SVNRa::getDatedRev(jobject jdate)
 {
   SVN::Pool requestPool;
   svn_revnum_t rev;
 
+  apr_time_t tm = JNIUtil::getDate(jdate);
+  if (JNIUtil::isExceptionThrown())
+    return SVN_INVALID_REVNUM;
+
   SVN_JNI_ERR(svn_ra_get_dated_revision(m_session, &rev, tm,
                                         requestPool.getPool()),
               SVN_INVALID_REVNUM);
@@ -110,11 +114,19 @@ SVNRa::getDatedRev(apr_time_t tm)
 }
 
 jobject
-SVNRa::getLocks(const char *path, svn_depth_t depth)
+SVNRa::getLocks(jstring jpath, jobject jdepth)
 {
   SVN::Pool requestPool;
   apr_hash_t *locks;
 
+  JNIStringHolder path(jpath);
+  if (JNIUtil::isExceptionThrown())
+    return NULL;
+
+  svn_depth_t depth = EnumMapper::toDepth(jdepth);
+  if (JNIUtil::isExceptionThrown())
+    return NULL;
+
   SVN_JNI_ERR(svn_ra_get_locks2(m_session, &locks, path, depth,
                                 requestPool.getPool()),
               NULL);
@@ -123,11 +135,19 @@ SVNRa::getLocks(const char *path, svn_de
 }
 
 jobject
-SVNRa::checkPath(const char *path, Revision &revision)
+SVNRa::checkPath(jstring jpath, jobject jrevision)
 {
   SVN::Pool requestPool;
   svn_node_kind_t kind;
 
+  JNIStringHolder path(jpath);
+  if (JNIUtil::isExceptionThrown())
+    return NULL;
+
+  Revision revision(jrevision);
+  if (JNIUtil::isExceptionThrown())
+    return NULL;
+
   SVN_JNI_ERR(svn_ra_check_path(m_session, path,
                                 revision.revision()->value.number,
                                 &kind, requestPool.getPool()),

Modified: 
subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h?rev=1353373&r1=1353372&r2=1353373&view=diff
==============================================================================
--- subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h 
(original)
+++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNRa.h Mon 
Jun 25 01:10:50 2012
@@ -25,9 +25,9 @@ class SVNRa: public SVNBase
 
     jlong getLatestRevision();
 
-    svn_revnum_t getDatedRev(apr_time_t time);
-    jobject getLocks(const char *path, svn_depth_t depth);
-    jobject checkPath(const char *path, Revision &revision);
+    svn_revnum_t getDatedRev(jobject date);
+    jobject getLocks(jstring jpath, jobject jdepth);
+    jobject checkPath(jstring jpath, jobject jrevision);
 
     virtual void dispose(jobject jthis);
 

Modified: 
subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp
URL: 
http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp?rev=1353373&r1=1353372&r2=1353373&view=diff
==============================================================================
--- 
subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp
 (original)
+++ 
subversion/branches/javahl-ra/subversion/bindings/javahl/native/org_apache_subversion_javahl_ra_SVNRa.cpp
 Mon Jun 25 01:10:50 2012
@@ -46,11 +46,7 @@ Java_org_apache_subversion_javahl_ra_SVN
   SVNRa *ras = SVNRa::getCppObject(jthis);
   CPPADDR_NULL_PTR(ras, SVN_INVALID_REVNUM);
 
-  apr_time_t date = JNIUtil::getDate(jdate);
-  if (JNIUtil::isExceptionThrown())
-    return SVN_INVALID_REVNUM;
-
-  return ras->getDatedRev(date);
+  return ras->getDatedRev(jdate);
 }
 
 JNIEXPORT jobject JNICALL
@@ -61,11 +57,7 @@ Java_org_apache_subversion_javahl_ra_SVN
   SVNRa *ras = SVNRa::getCppObject(jthis);
   CPPADDR_NULL_PTR(ras, NULL);
 
-  JNIStringHolder path(jpath);
-  if (JNIUtil::isExceptionThrown())
-    return NULL;
-
-  return ras->getLocks(path, EnumMapper::toDepth(jdepth));
+  return ras->getLocks(jpath, jdepth);
 }
 
 JNIEXPORT jobject JNICALL
@@ -76,13 +68,5 @@ Java_org_apache_subversion_javahl_ra_SVN
   SVNRa *ras = SVNRa::getCppObject(jthis);
   CPPADDR_NULL_PTR(ras, NULL);
 
-  JNIStringHolder path(jpath);
-  if (JNIUtil::isExceptionThrown())
-    return NULL;
-
-  Revision revision(jrevision);
-  if (JNIUtil::isExceptionThrown())
-    return NULL;
-
-  return ras->checkPath(path, revision);
+  return ras->checkPath(jpath, jrevision);
 }


Reply via email to