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,