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/10/04 17:28:18 UTC

svn commit: r1004288 - in /subversion/trunk/subversion/bindings/javahl/native: SVNClient.cpp StatusCallback.cpp StatusCallback.h org_apache_subversion_javahl_SVNClient.cpp

Author: hwright
Date: Mon Oct  4 15:28:18 2010
New Revision: 1004288

URL: http://svn.apache.org/viewvc?rev=1004288&view=rev
Log:
JavaHL: Require the status callback to take a wc_ctx when constructed.
Since we now persist this object for the lifetime of the java object, we
can do this, and it makes things a bit less messy.

* subversion/bindings/javahl/native/StatusCallback.cpp
  (StatusCallback): Require a wc_ctx, and stash it away.
  (doStatus): Use the renamed member.
  (setWcCtx): Remove.

* subversion/bindings/javahl/native/StatusCallback.h
  (StatusCallback): Require the wc_ctx.
  (setWcCtx): Remove.
  (wc_ctx): Rename to m_wc_ctx.

* subversion/bindings/javahl/native/SVNClient.cpp
  (status): Don't set the wc_ctx for the status callback.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
  (Java_org_apache_subversion_javahl_SVNClient_status):
    Provide the wc_ctx when constructing the status callback.

Modified:
    subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
    subversion/trunk/subversion/bindings/javahl/native/StatusCallback.cpp
    subversion/trunk/subversion/bindings/javahl/native/StatusCallback.h
    subversion/trunk/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp

Modified: subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp?rev=1004288&r1=1004287&r2=1004288&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp Mon Oct  4 15:28:18 2010
@@ -158,7 +158,6 @@ SVNClient::status(const char *path, svn_
     svn_client_ctx_t *ctx = context.getContext(NULL);
     if (ctx == NULL)
         return;
-    callback->setWcCtx(ctx->wc_ctx);
 
     Path checkedPath(path);
     SVN_JNI_ERR(checkedPath.error_occured(), );

Modified: subversion/trunk/subversion/bindings/javahl/native/StatusCallback.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/StatusCallback.cpp?rev=1004288&r1=1004287&r2=1004288&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/StatusCallback.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/StatusCallback.cpp Mon Oct  4 15:28:18 2010
@@ -34,9 +34,10 @@
  * Create a StatusCallback object
  * @param jcallback the Java callback object.
  */
-StatusCallback::StatusCallback(jobject jcallback)
+StatusCallback::StatusCallback(jobject jcallback, svn_wc_context_t *wc_ctx)
 {
   m_callback = jcallback;
+  m_wc_ctx = wc_ctx;
 }
 
 /**
@@ -90,7 +91,7 @@ StatusCallback::doStatus(const char *loc
         POP_AND_RETURN(SVN_NO_ERROR);
     }
 
-  jobject jStatus = CreateJ::Status(wc_ctx, local_abspath, status, pool);
+  jobject jStatus = CreateJ::Status(m_wc_ctx, local_abspath, status, pool);
   if (JNIUtil::isJavaExceptionThrown())
     POP_AND_RETURN(SVN_NO_ERROR);
 
@@ -101,9 +102,3 @@ StatusCallback::doStatus(const char *loc
   env->PopLocalFrame(NULL);
   return SVN_NO_ERROR;
 }
-
-void
-StatusCallback::setWcCtx(svn_wc_context_t *wc_ctx_in)
-{
-  this->wc_ctx = wc_ctx_in;
-}

Modified: subversion/trunk/subversion/bindings/javahl/native/StatusCallback.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/StatusCallback.h?rev=1004288&r1=1004287&r2=1004288&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/StatusCallback.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/StatusCallback.h Mon Oct  4 15:28:18 2010
@@ -37,11 +37,9 @@
 class StatusCallback
 {
  public:
-  StatusCallback(jobject jcallback);
+  StatusCallback(jobject jcallback, svn_wc_context_t *wc_ctx);
   ~StatusCallback();
 
-  void setWcCtx(svn_wc_context_t *);
-
   static svn_error_t* callback(void *baton,
                                const char *local_abspath,
                                const svn_client_status_t *status,
@@ -58,7 +56,7 @@ class StatusCallback
    */
   jobject m_callback;
 
-  svn_wc_context_t *wc_ctx;
+  svn_wc_context_t *m_wc_ctx;
 };
 
 #endif // STATUSCALLBACK_H

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=1004288&r1=1004287&r2=1004288&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 Mon Oct  4 15:28:18 2010
@@ -183,7 +183,8 @@ Java_org_apache_subversion_javahl_SVNCli
   if (JNIUtil::isExceptionThrown())
     return;
 
-  StatusCallback callback(jstatusCallback);
+  StatusCallback callback(jstatusCallback,
+                          cl->getClientContext().getContext(NULL)->wc_ctx);
   cl->status(path, EnumMapper::toDepth(jdepth),
              jonServer ? true:false,
              jgetAll ? true:false, jnoIgnore ? true:false,