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/10 20:06:33 UTC
svn commit: r984153 [7/39] - in /subversion/branches/ignore-mergeinfo: ./
build/ build/ac-macros/ build/generator/ build/generator/templates/
build/hudson/ build/hudson/jobs/subversion-1.6.x-solaris/
build/hudson/jobs/subversion-1.6.x-ubuntu/ build/hud...
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.cpp?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.cpp (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.cpp Tue Aug 10 18:06:17 2010
@@ -26,8 +26,7 @@
#include "SVNClient.h"
#include "JNIUtil.h"
-#include "Notify.h"
-#include "Notify2.h"
+#include "NotifyCallback.h"
#include "CopySources.h"
#include "DiffSummaryReceiver.h"
#include "ConflictResolverCallback.h"
@@ -62,9 +61,6 @@
#include "svn_dirent_uri.h"
#include "svn_utf.h"
#include "svn_private_config.h"
-#include "../include/org_tigris_subversion_javahl_Revision.h"
-#include "../include/org_tigris_subversion_javahl_NodeKind.h"
-#include "../include/org_tigris_subversion_javahl_StatusKind.h"
#include "JNIStringHolder.h"
#include <vector>
#include <iostream>
@@ -78,7 +74,6 @@ struct log_msg_baton
SVNClient::SVNClient()
{
- m_notify = NULL;
m_notify2 = NULL;
m_progressListener = NULL;
m_prompter = NULL;
@@ -88,7 +83,6 @@ SVNClient::SVNClient()
SVNClient::~SVNClient()
{
- delete m_notify;
delete m_notify2;
delete m_progressListener;
delete m_prompter;
@@ -296,13 +290,7 @@ jlong SVNClient::checkout(const char *mo
return rev;
}
-void SVNClient::notification(Notify *notify)
-{
- delete m_notify;
- m_notify = notify;
-}
-
-void SVNClient::notification2(Notify2 *notify2)
+void SVNClient::notification2(NotifyCallback *notify2)
{
delete m_notify2;
m_notify2 = notify2;
@@ -627,7 +615,7 @@ void SVNClient::doImport(const char *pat
requestPool.pool()), );
}
-jobjectArray
+jobject
SVNClient::suggestMergeSources(const char *path, Revision &pegRevision)
{
SVN::Pool requestPool;
@@ -641,26 +629,7 @@ SVNClient::suggestMergeSources(const cha
ctx, requestPool.pool()),
NULL);
- JNIEnv *env = JNIUtil::getEnv();
- jclass clazz = env->FindClass("java/lang/String");
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jobjectArray jsuggestions = env->NewObjectArray(sources->nelts, clazz,
- NULL);
- for (int i = 0; i < sources->nelts; ++i)
- {
- const char *source = APR_ARRAY_IDX(sources, i, const char *);
- jstring jpath = JNIUtil::makeJString(source);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->SetObjectArrayElement(jsuggestions, i, jpath);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
- }
-
- return jsuggestions;
+ return CreateJ::StringSet(sources);
}
void SVNClient::merge(const char *path1, Revision &revision1,
@@ -812,7 +781,7 @@ SVNClient::getMergeinfo(const char *targ
{
addRevisions = env->GetMethodID(clazz, "addRevisions",
"(Ljava/lang/String;"
- "[L"JAVA_PACKAGE"/RevisionRange;)V");
+ "Ljava/util/List;)V");
if (JNIUtil::isJavaExceptionThrown())
return NULL;
}
@@ -831,8 +800,8 @@ SVNClient::getMergeinfo(const char *targ
apr_hash_this(hi, &path, NULL, &val);
jstring jpath = JNIUtil::makeJString((const char *) path);
- jobjectArray jranges =
- CreateJ::RevisionRangeArray((apr_array_header_t *) val);
+ jobject jranges =
+ CreateJ::RevisionRangeList((apr_array_header_t *) val);
env->CallVoidMethod(jmergeinfo, addRevisions, jpath, jranges);
@@ -844,6 +813,10 @@ SVNClient::getMergeinfo(const char *targ
return NULL;
}
+ env->DeleteLocalRef(clazz);
+ if (JNIUtil::isJavaExceptionThrown())
+ return NULL;
+
return jmergeinfo;
}
@@ -870,8 +843,8 @@ void SVNClient::getMergeinfoLog(int type
Path srcURL(mergeSourceURL);
SVN_JNI_ERR(srcURL.error_occured(), );
- SVN_JNI_ERR(svn_client_mergeinfo_log(urlPath.c_str(),
- type == 1 ? true : false,
+ SVN_JNI_ERR(svn_client_mergeinfo_log((type == 1),
+ urlPath.c_str(),
pegRevision.revision(),
srcURL.c_str(),
srcPegRevision.revision(),
@@ -889,9 +862,8 @@ void SVNClient::getMergeinfoLog(int type
/**
* Get a property.
*/
-jobject SVNClient::propertyGet(jobject jthis, const char *path,
- const char *name, Revision &revision,
- Revision &pegRevision)
+jbyteArray SVNClient::propertyGet(const char *path, const char *name,
+ Revision &revision, Revision &pegRevision)
{
SVN::Pool requestPool;
SVN_JNI_NULL_PTR_EX(path, "path", NULL);
@@ -922,7 +894,8 @@ jobject SVNClient::propertyGet(jobject j
if (propval == NULL)
return NULL;
- return CreateJ::Property(jthis, path, name, propval);
+ return JNIUtil::makeJByteArray((const signed char *)propval->data,
+ propval->len);
}
void SVNClient::properties(const char *path, Revision &revision,
@@ -1255,14 +1228,14 @@ svn_client_ctx_t *SVNClient::getContext(
m_passWord.c_str());
ctx->auth_baton = ab;
- ctx->notify_func = Notify::notify;
- ctx->notify_baton = m_notify;
+ ctx->notify_func = NULL;
+ ctx->notify_baton = NULL;
ctx->log_msg_func3 = getCommitMessage;
ctx->log_msg_baton3 = getCommitMessageBaton(message);
ctx->cancel_func = checkCancel;
m_cancelOperation = false;
ctx->cancel_baton = this;
- ctx->notify_func2= Notify2::notify;
+ ctx->notify_func2= NotifyCallback::notify;
ctx->notify_baton2 = m_notify2;
ctx->progress_func = ProgressListener::progress;
@@ -1463,8 +1436,8 @@ svn_stream_t *SVNClient::createReadStrea
return read_stream;
}
-jobject SVNClient::revProperty(jobject jthis, const char *path,
- const char *name, Revision &rev)
+jbyteArray SVNClient::revProperty(const char *path,
+ const char *name, Revision &rev)
{
SVN::Pool requestPool;
SVN_JNI_NULL_PTR_EX(path, "path", NULL);
@@ -1498,7 +1471,8 @@ jobject SVNClient::revProperty(jobject j
if (propval == NULL)
return NULL;
- return CreateJ::Property(jthis, path, name, propval);
+ return JNIUtil::makeJByteArray((const signed char *)propval->data,
+ propval->len);
}
void SVNClient::relocate(const char *from, const char *to, const char *path,
bool recurse)
@@ -1650,7 +1624,7 @@ void SVNClient::unlock(Targets &targets,
SVN_JNI_ERR(svn_client_unlock((apr_array_header_t*)targetsApr, force,
ctx, requestPool.pool()), );
}
-void SVNClient::setRevProperty(jobject jthis, const char *path,
+void SVNClient::setRevProperty(const char *path,
const char *name, Revision &rev,
const char *value, const char *original_value,
bool force)
@@ -1883,8 +1857,7 @@ void SVNClient::upgrade(const char *path
SVN_JNI_ERR(svn_client_upgrade(path, ctx, requestPool.pool()), );
}
-jobjectArray SVNClient::revProperties(jobject jthis, const char *path,
- Revision &revision)
+jobject SVNClient::revProperties(const char *path, Revision &revision)
{
apr_hash_t *props;
SVN::Pool requestPool;
@@ -1907,45 +1880,7 @@ jobjectArray SVNClient::revProperties(jo
&set_rev, ctx, requestPool.pool()),
NULL);
- apr_hash_index_t *hi;
-
- int count = apr_hash_count(props);
-
- JNIEnv *env = JNIUtil::getEnv();
- jclass clazz = env->FindClass(JAVA_PACKAGE"/PropertyData");
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jobjectArray jprops = env->NewObjectArray(count, clazz, NULL);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(clazz);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- int i = 0;
- for (hi = apr_hash_first(requestPool.pool(), props);
- hi;
- hi = apr_hash_next(hi), ++i)
- {
- const char *key;
- svn_string_t *val;
-
- apr_hash_this(hi, (const void **)&key, NULL, (void**)&val);
-
- jobject object = CreateJ::Property(jthis, path, key, val);
-
- env->SetObjectArrayElement(jprops, i, object);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(object);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
- }
-
- return jprops;
+ return CreateJ::PropertyMap(props, requestPool.pool());
}
struct info_baton
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.h?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.h (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.h Tue Aug 10 18:06:17 2010
@@ -34,8 +34,7 @@
class Revision;
class RevisionRange;
-class Notify;
-class Notify2;
+class NotifyCallback;
class ConflictResolverCallback;
class ProgressListener;
class Targets;
@@ -65,8 +64,7 @@ class SVNClient :public SVNBase
InfoCallback *callback);
void unlock(Targets &targets, bool force);
void lock(Targets &targets, const char *comment, bool force);
- jobjectArray revProperties(jobject jthis, const char *path,
- Revision &revision);
+ jobject revProperties(const char *path, Revision &revision);
void cancelOperation();
void commitMessageHandler(CommitMessage *commitMessage);
const char *getConfigDirectory();
@@ -101,7 +99,7 @@ class SVNClient :public SVNBase
Revision &srcPegRevision, bool discoverChangedPaths,
svn_depth_t depth, StringArray &revProps,
LogMessageCallback *callback);
- jobjectArray suggestMergeSources(const char *path, Revision &pegRevision);
+ jobject suggestMergeSources(const char *path, Revision &pegRevision);
void merge(const char *path1, Revision &revision1, const char *path2,
Revision &revision2, const char *localPath, bool force,
svn_depth_t depth, bool ignoreAncestry, bool dryRun,
@@ -145,8 +143,7 @@ class SVNClient :public SVNBase
void revert(const char *path, svn_depth_t depth, StringArray &changelists);
void remove(Targets &targets, const char *message, bool force,
bool keep_local, RevpropTable &revprops);
- void notification(Notify *notify);
- void notification2(Notify2 *notify2);
+ void notification2(NotifyCallback *notify2);
void setConflictResolver(ConflictResolverCallback *conflictResolver);
void setProgressListener(ProgressListener *progressListener);
jlong checkout(const char *moduleName, const char *destPath,
@@ -175,16 +172,15 @@ class SVNClient :public SVNBase
void list(const char *url, Revision &revision, Revision &pegRevision,
svn_depth_t depth, int direntFields, bool fetchLocks,
ListCallback *callback);
- jobject revProperty(jobject jthis, const char *path, const char *name,
- Revision &rev);
- void setRevProperty(jobject jthis, const char *path, const char *name,
+ jbyteArray revProperty(const char *path, const char *name, Revision &rev);
+ void setRevProperty(const char *path, const char *name,
Revision &rev, const char *value,
const char *original_value, bool force);
jstring getVersionInfo(const char *path, const char *trailUrl,
bool lastChanged);
void upgrade(const char *path);
- jobject propertyGet(jobject jthis, const char *path, const char *name,
- Revision &revision, Revision &pegRevision);
+ jbyteArray propertyGet(const char *path, const char *name,
+ Revision &revision, Revision &pegRevision);
void diff(const char *target1, Revision &revision1,
const char *target2, Revision &revision2,
const char *relativeToDir, const char *outfileName,
@@ -229,8 +225,7 @@ class SVNClient :public SVNBase
bool ignoreAncestry, bool noDiffDelete, bool force,
bool showCopiesAsAdds);
- Notify *m_notify;
- Notify2 *m_notify2;
+ NotifyCallback *m_notify2;
ConflictResolverCallback *m_conflictResolver;
ProgressListener *m_progressListener;
Prompter *m_prompter;
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.cpp?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.cpp (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.cpp Tue Aug 10 18:06:17 2010
@@ -29,9 +29,6 @@
#include "EnumMapper.h"
#include "JNIUtil.h"
#include "svn_time.h"
-#include "../include/org_tigris_subversion_javahl_NodeKind.h"
-#include "../include/org_tigris_subversion_javahl_Revision.h"
-#include "../include/org_tigris_subversion_javahl_StatusKind.h"
/**
* Create a StatusCallback object
@@ -72,253 +69,34 @@ StatusCallback::doStatus(const char *loc
{
JNIEnv *env = JNIUtil::getEnv();
+ // Create a local frame for our references
+ env->PushLocalFrame(LOCAL_FRAME_SIZE);
+ if (JNIUtil::isJavaExceptionThrown())
+ return SVN_NO_ERROR;
+
static jmethodID mid = 0; // the method id will not change during
// the time this library is loaded, so
// it can be cached.
if (mid == 0)
{
- jclass clazz = env->FindClass(JAVA_PACKAGE"/StatusCallback");
+ jclass clazz = env->FindClass(JAVA_PACKAGE"/callback/StatusCallback");
if (JNIUtil::isJavaExceptionThrown())
- return SVN_NO_ERROR;
+ POP_AND_RETURN(SVN_NO_ERROR);
mid = env->GetMethodID(clazz, "doStatus",
"(L"JAVA_PACKAGE"/Status;)V");
if (JNIUtil::isJavaExceptionThrown() || mid == 0)
- return SVN_NO_ERROR;
-
- env->DeleteLocalRef(clazz);
- if (JNIUtil::isJavaExceptionThrown())
- return SVN_NO_ERROR;
+ POP_AND_RETURN(SVN_NO_ERROR);
}
- jobject jStatus = createJavaStatus(local_abspath, status);
+ jobject jStatus = CreateJ::Status(local_abspath, status);
if (JNIUtil::isJavaExceptionThrown())
- return SVN_NO_ERROR;
+ POP_AND_RETURN(SVN_NO_ERROR);
env->CallVoidMethod(m_callback, mid, jStatus);
- if (JNIUtil::isJavaExceptionThrown())
- return SVN_NO_ERROR;
-
- env->DeleteLocalRef(jStatus);
// We return here regardless of whether an exception is thrown or not,
// so we do not need to explicitly check for one.
- return SVN_NO_ERROR;
-}
-
-jobject
-StatusCallback::createJavaStatus(const char *local_abspath,
- const svn_wc_status2_t *status)
-{
- JNIEnv *env = JNIUtil::getEnv();
- jclass clazz = env->FindClass(JAVA_PACKAGE"/Status");
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- static jmethodID mid = 0;
- if (mid == 0)
- {
- mid = env->GetMethodID(clazz, "<init>",
- "(Ljava/lang/String;Ljava/lang/String;"
- "IJJJLjava/lang/String;IIIIZZZ"
- "L"JAVA_PACKAGE"/ConflictDescriptor;"
- "Ljava/lang/String;Ljava/lang/String;"
- "Ljava/lang/String;Ljava/lang/String;"
- "JZZLjava/lang/String;Ljava/lang/String;"
- "Ljava/lang/String;"
- "JLorg/tigris/subversion/javahl/Lock;"
- "JJILjava/lang/String;Ljava/lang/String;)V");
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
- }
- jstring jPath = JNIUtil::makeJString(local_abspath);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jstring jUrl = NULL;
- jint jNodeKind = org_tigris_subversion_javahl_NodeKind_unknown;
- jlong jRevision = org_tigris_subversion_javahl_Revision_SVN_INVALID_REVNUM;
- jlong jLastChangedRevision =
- org_tigris_subversion_javahl_Revision_SVN_INVALID_REVNUM;
- jlong jLastChangedDate = 0;
- jstring jLastCommitAuthor = NULL;
- jint jTextType = org_tigris_subversion_javahl_StatusKind_none;
- jint jPropType = org_tigris_subversion_javahl_StatusKind_none;
- jint jRepositoryTextType = org_tigris_subversion_javahl_StatusKind_none;
- jint jRepositoryPropType = org_tigris_subversion_javahl_StatusKind_none;
- jboolean jIsLocked = JNI_FALSE;
- jboolean jIsCopied = JNI_FALSE;
- jboolean jIsSwitched = JNI_FALSE;
- jboolean jIsFileExternal = JNI_FALSE;
- jboolean jIsTreeConflicted = JNI_FALSE;
- jobject jConflictDescription = NULL;
- jstring jConflictOld = NULL;
- jstring jConflictNew = NULL;
- jstring jConflictWorking = NULL;
- jstring jURLCopiedFrom = NULL;
- jlong jRevisionCopiedFrom =
- org_tigris_subversion_javahl_Revision_SVN_INVALID_REVNUM;
- jstring jLockToken = NULL;
- jstring jLockComment = NULL;
- jstring jLockOwner = NULL;
- jlong jLockCreationDate = 0;
- jobject jLock = NULL;
- jlong jOODLastCmtRevision =
- org_tigris_subversion_javahl_Revision_SVN_INVALID_REVNUM;
- jlong jOODLastCmtDate = 0;
- jint jOODKind = org_tigris_subversion_javahl_NodeKind_none;
- jstring jOODLastCmtAuthor = NULL;
- jstring jChangelist = NULL;
- if (status != NULL)
- {
- jTextType = EnumMapper::mapStatusKind(status->text_status);
- jPropType = EnumMapper::mapStatusKind(status->prop_status);
- jRepositoryTextType = EnumMapper::mapStatusKind(
- status->repos_text_status);
- jRepositoryPropType = EnumMapper::mapStatusKind(
- status->repos_prop_status);
- jIsCopied = (status->copied == 1) ? JNI_TRUE: JNI_FALSE;
- jIsLocked = (status->locked == 1) ? JNI_TRUE: JNI_FALSE;
- jIsSwitched = (status->switched == 1) ? JNI_TRUE: JNI_FALSE;
- jIsFileExternal = (status->file_external == 1) ? JNI_TRUE: JNI_FALSE;
- jConflictDescription = CreateJ::ConflictDescriptor(status->tree_conflict);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jIsTreeConflicted = (status->tree_conflict != NULL)
- ? JNI_TRUE: JNI_FALSE;
- jLock = CreateJ::Lock(status->repos_lock);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jUrl = JNIUtil::makeJString(status->url);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jOODLastCmtRevision = status->ood_last_cmt_rev;
- jOODLastCmtDate = status->ood_last_cmt_date;
- jOODKind = EnumMapper::mapNodeKind(status->ood_kind);
- jOODLastCmtAuthor = JNIUtil::makeJString(status->ood_last_cmt_author);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- const svn_wc_entry_t *entry = status->entry;
- if (entry != NULL)
- {
- jNodeKind = EnumMapper::mapNodeKind(entry->kind);
- jRevision = entry->revision;
- jLastChangedRevision = entry->cmt_rev;
- jLastChangedDate = entry->cmt_date;
- jLastCommitAuthor = JNIUtil::makeJString(entry->cmt_author);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jConflictNew = JNIUtil::makeJString(entry->conflict_new);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jConflictOld = JNIUtil::makeJString(entry->conflict_old);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jConflictWorking= JNIUtil::makeJString(entry->conflict_wrk);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jURLCopiedFrom = JNIUtil::makeJString(entry->copyfrom_url);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jRevisionCopiedFrom = entry->copyfrom_rev;
- jLockToken = JNIUtil::makeJString(entry->lock_token);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jLockComment = JNIUtil::makeJString(entry->lock_comment);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jLockOwner = JNIUtil::makeJString(entry->lock_owner);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jLockCreationDate = entry->lock_creation_date;
-
- jChangelist = JNIUtil::makeJString(entry->changelist);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
- }
- }
- jobject ret = env->NewObject(clazz, mid, jPath, jUrl, jNodeKind, jRevision,
- jLastChangedRevision, jLastChangedDate,
- jLastCommitAuthor, jTextType, jPropType,
- jRepositoryTextType, jRepositoryPropType,
- jIsLocked, jIsCopied, jIsTreeConflicted,
- jConflictDescription, jConflictOld, jConflictNew,
- jConflictWorking, jURLCopiedFrom,
- jRevisionCopiedFrom, jIsSwitched, jIsFileExternal,
- jLockToken, jLockOwner,
- jLockComment, jLockCreationDate, jLock,
- jOODLastCmtRevision, jOODLastCmtDate,
- jOODKind, jOODLastCmtAuthor, jChangelist);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(clazz);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jPath);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jUrl);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jLastCommitAuthor);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jConflictNew);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jConflictOld);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jConflictWorking);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jURLCopiedFrom);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jLockComment);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jLockOwner);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jLockToken);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jLock);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jOODLastCmtAuthor);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(jChangelist);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- return ret;
+ env->PopLocalFrame(NULL);
+ return SVN_NO_ERROR;
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.h?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.h (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.h Tue Aug 10 18:06:17 2010
@@ -54,9 +54,6 @@ class StatusCallback
* This a local reference to the Java object.
*/
jobject m_callback;
-
- jobject createJavaStatus(const char *local_abspath,
- const svn_wc_status2_t *status);
};
#endif // STATUSCALLBACK_H
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StringArray.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StringArray.cpp?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StringArray.cpp (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StringArray.cpp Tue Aug 10 18:06:17 2010
@@ -34,8 +34,6 @@
StringArray::~StringArray()
{
- if (m_stringArray != NULL)
- JNIUtil::getEnv()->DeleteLocalRef(m_stringArray);
}
const apr_array_header_t *StringArray::array(const SVN::Pool &pool)
@@ -54,28 +52,35 @@ const apr_array_header_t *StringArray::a
return strings;
}
-StringArray::StringArray(jobjectArray jstrings)
+const std::vector<std::string> &StringArray::vector(void) const
{
- m_stringArray = jstrings;
+ return m_strings;
+}
- if (jstrings != NULL)
+void
+StringArray::init(void)
+{
+ const std::vector<jobject> &jobjects = Array::vector();
+
+ for (std::vector<jobject>::const_iterator it = jobjects.begin();
+ it < jobjects.end(); ++it)
{
- JNIEnv *env = JNIUtil::getEnv();
- jint arraySize = env->GetArrayLength(jstrings);
+ JNIStringHolder str((jstring) *it);
if (JNIUtil::isExceptionThrown())
return;
- for (int i = 0; i < arraySize; ++i)
- {
- jobject jstr = env->GetObjectArrayElement(jstrings, i);
- if (JNIUtil::isExceptionThrown())
- return;
-
- JNIStringHolder str((jstring)jstr);
- if (JNIUtil::isExceptionThrown())
- return;
-
- m_strings.push_back(std::string((const char *)str));
- }
+ m_strings.push_back(std::string((const char *)str));
}
}
+
+StringArray::StringArray(jobjectArray jstrings)
+ : Array(jstrings), m_strings()
+{
+ init();
+}
+
+StringArray::StringArray(jobject jstringCollection)
+ : Array(jstringCollection), m_strings()
+{
+ init();
+}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StringArray.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StringArray.h?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StringArray.h (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StringArray.h Tue Aug 10 18:06:17 2010
@@ -31,22 +31,22 @@
#include "Pool.h"
struct apr_array_header_t;
-struct svn_error_t;
-class SVN::Pool;
-#include "Path.h"
+#include "Array.h"
#include <vector>
#include <string>
-class StringArray
+class StringArray : Array
{
private:
std::vector<std::string> m_strings;
- jobjectArray m_stringArray;
+ void init(void);
public:
StringArray(jobjectArray jstrings);
+ StringArray(jobject jstringCollection);
~StringArray();
const apr_array_header_t *array(const SVN::Pool &pool);
+ const std::vector<std::string> &vector(void) const;
};
#endif // STRINGARRAY_H
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/Targets.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/Targets.cpp?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/Targets.cpp (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/Targets.cpp Tue Aug 10 18:06:17 2010
@@ -34,16 +34,13 @@
Targets::~Targets()
{
- if (m_targetArray != NULL)
- JNIUtil::getEnv()->DeleteLocalRef(m_targetArray);
}
Targets::Targets(const char *path)
{
- m_targetArray = NULL;
+ m_strArray = NULL;
m_targets.push_back (path);
m_error_occured = NULL;
- m_doesNotContainsPath = false;
}
void Targets::add(const char *path)
@@ -53,50 +50,24 @@ void Targets::add(const char *path)
const apr_array_header_t *Targets::array(const SVN::Pool &pool)
{
- if (m_targetArray != NULL)
+ if (m_strArray != NULL)
{
JNIEnv *env = JNIUtil::getEnv();
- jint arraySize = env->GetArrayLength(m_targetArray);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jclass clazz = env->FindClass("java/lang/String");
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
- for (int i = 0; i < arraySize; ++i)
- {
- jobject elem = env->GetObjectArrayElement(m_targetArray, i);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
+ const std::vector<std::string> &vec = m_strArray->vector();
- if (env->IsInstanceOf(elem, clazz))
+ std::vector<std::string>::const_iterator it;
+ for (it = vec.begin(); it < vec.end(); ++it)
+ {
+ const char *tt = it->c_str();
+ svn_error_t *err = JNIUtil::preprocessPath(tt, pool.pool());
+ if (err != NULL)
{
- JNIStringHolder text((jstring)elem);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- const char *tt = (const char *)text;
- if (!m_doesNotContainsPath)
- {
- svn_error_t *err = JNIUtil::preprocessPath(tt,
- pool.pool());
- if (err != NULL)
- {
- m_error_occured = err;
- break;
- }
- }
- m_targets.push_back(tt);
+ m_error_occured = err;
+ break;
}
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- env->DeleteLocalRef(elem);
+ m_targets.push_back(tt);
}
- env->DeleteLocalRef(clazz);
- //JNIUtil::getEnv()->DeleteLocalRef(m_targetArray);
- m_targetArray = NULL;
}
std::vector<Path>::const_iterator it;
@@ -117,9 +88,9 @@ const apr_array_header_t *Targets::array
return apr_targets;
}
-Targets::Targets(jobjectArray jtargets)
+Targets::Targets(StringArray &strArray)
{
- m_targetArray = jtargets;
+ m_strArray = &strArray;
m_error_occured = NULL;
}
@@ -127,8 +98,3 @@ svn_error_t *Targets::error_occured()
{
return m_error_occured;
}
-
-void Targets::setDoesNotContainsPath()
-{
- m_doesNotContainsPath = true;
-}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/Targets.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/Targets.h?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/Targets.h (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/Targets.h Tue Aug 10 18:06:17 2010
@@ -29,10 +29,10 @@
#include <jni.h>
#include "Pool.h"
+#include "StringArray.h"
struct apr_array_header_t;
struct svn_error_t;
-class SVN::Pool;
#include "Path.h"
#include <vector>
@@ -41,17 +41,15 @@ class Targets
{
private:
std::vector<Path> m_targets;
- jobjectArray m_targetArray;
+ StringArray *m_strArray;
svn_error_t *m_error_occured;
- bool m_doesNotContainsPath;
public:
- Targets(jobjectArray jtargets);
+ Targets(StringArray &strArray);
Targets(const char *path);
void add(const char *path);
~Targets();
const apr_array_header_t *array(const SVN::Pool &pool);
svn_error_t *error_occured();
- void setDoesNotContainsPath();
};
#endif // TARGETS_H
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallback3.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallback3.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallback3.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallback3.java Tue Aug 10 18:06:17 2010
@@ -23,7 +23,6 @@
package org.tigris.subversion.javahl;
-import java.util.Date;
import java.util.Map;
/**
@@ -36,7 +35,7 @@ public interface BlameCallback3
{
/**
* the method will be called for every line in a file.
- * @param line the line number for this line
+ * @param lineNum the line number for this line
* @param revision the revision of the last change.
* @param revProps the revision properties for this revision.
* @param mergedRevision the revision of the last merged change.
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallbackImpl.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallbackImpl.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallbackImpl.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/BlameCallbackImpl.java Tue Aug 10 18:06:17 2010
@@ -36,7 +36,7 @@ public class BlameCallbackImpl implement
{
/** list of blame records (lines) */
- private List lines = new ArrayList();
+ private List<BlameLine> lines = new ArrayList<BlameLine>();
/*
* (non-Javadoc)
@@ -92,7 +92,7 @@ public class BlameCallbackImpl implement
{
return null;
}
- return (BlameLine) this.lines.get(i);
+ return this.lines.get(i);
}
/**
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangePath.java Tue Aug 10 18:06:17 2010
@@ -23,7 +23,7 @@
package org.tigris.subversion.javahl;
-public class ChangePath implements java.io.Serializable
+public class ChangePath implements java.io.Serializable, Comparable
{
// Update the serialVersionUID when there is a incompatible change
// made to this class. See any of the following, depending upon
@@ -52,6 +52,21 @@ public class ChangePath implements java.
this.nodeKind = nodeKind;
}
+ /**
+ * A backward-compat constructor.
+ */
+ public ChangePath(org.apache.subversion.javahl.ChangePath aChangePath)
+ {
+ this(aChangePath.getPath(), aChangePath.getCopySrcRevision(),
+ aChangePath.getCopySrcPath(), aChangePath.getAction(),
+ NodeKind.fromApache(aChangePath.getNodeKind()));
+ }
+
+ public int compareTo(Object other)
+ {
+ return path.compareTo(((ChangePath)other).path);
+ }
+
/** Path of commited item */
private String path;
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangelistCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangelistCallback.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangelistCallback.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ChangelistCallback.java Tue Aug 10 18:06:17 2010
@@ -28,11 +28,6 @@ package org.tigris.subversion.javahl;
* the SVNClientInterface.status call.
*/
public interface ChangelistCallback
+ extends org.apache.subversion.javahl.callback.ChangelistCallback
{
- /**
- * the method will be called for each status item
- * @param path the path of the object
- * @param changelist the changelist it belongs to
- */
- public void doChangelist(String path, String changelist);
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ClientException.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ClientException.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ClientException.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ClientException.java Tue Aug 10 18:06:17 2010
@@ -52,6 +52,14 @@ public class ClientException extends Nat
}
/**
+ * This constructor is for backward compat.
+ */
+ ClientException(org.apache.subversion.javahl.ClientException ex)
+ {
+ super(ex.getMessage(), ex.getSource(), ex.getAprError());
+ }
+
+ /**
* A conversion routine for maintaining backwards compatibility.
* @param t The exception to (potentially) convert.
* @return <code>t</code> coerced or converted into a
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CommitItem.java Tue Aug 10 18:06:17 2010
@@ -87,6 +87,16 @@ public class CommitItem implements java.
}
/**
+ * A backward-compat constructor.
+ */
+ public CommitItem(org.apache.subversion.javahl.CommitItem aItem)
+ {
+ this(aItem.getPath(), NodeKind.fromApache(aItem.getNodeKind()),
+ aItem.getStateFlags(), aItem.getUrl(), aItem.getCopyUrl(),
+ aItem.getRevision());
+ }
+
+ /**
* retrieve the path of the commit item
* @return the path
*/
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictDescriptor.java Tue Aug 10 18:06:17 2010
@@ -116,6 +116,19 @@ public class ConflictDescriptor
this.srcRightVersion = srcRight;
}
+ public ConflictDescriptor(org.apache.subversion.javahl.ConflictDescriptor
+ aDesc)
+ {
+ this(aDesc.getPath(), aDesc.getKind().ordinal(),
+ NodeKind.fromApache(aDesc.getNodeKind()),
+ aDesc.getPropertyName(), aDesc.isBinary(), aDesc.getMIMEType(),
+ aDesc.getAction().ordinal(), aDesc.getReason().ordinal(),
+ aDesc.getOperation().ordinal(), aDesc.getBasePath(),
+ aDesc.getTheirPath(), aDesc.getMyPath(), aDesc.getMergedPath(),
+ new ConflictVersion(aDesc.getSrcLeftVersion()),
+ new ConflictVersion(aDesc.getSrcRightVersion()));
+ }
+
public String getPath()
{
return path;
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictResult.java Tue Aug 10 18:06:17 2010
@@ -92,6 +92,13 @@ public class ConflictResult
this.mergedPath = mergedPath;
}
+ public org.apache.subversion.javahl.ConflictResult toApache()
+ {
+ return new org.apache.subversion.javahl.ConflictResult(
+ org.apache.subversion.javahl.ConflictResult.Choice.values()[choice],
+ mergedPath);
+ }
+
/**
* @return A value corresponding to the
* <code>svn_wc_conflict_choice_t</code> enum.
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ConflictVersion.java Tue Aug 10 18:06:17 2010
@@ -50,6 +50,15 @@ public class ConflictVersion
this.nodeKind = nodeKind;
}
+ /**
+ * A backward-compat constructor.
+ */
+ public ConflictVersion(org.apache.subversion.javahl.ConflictVersion aVer)
+ {
+ this(aVer.getReposURL(), aVer.getPegRevision(), aVer.getPathInRepos(),
+ NodeKind.fromApache(aVer.getNodeKind()));
+ }
+
public String getReposURL()
{
return reposURL;
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CopySource.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CopySource.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CopySource.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/CopySource.java Tue Aug 10 18:06:17 2010
@@ -68,6 +68,13 @@ public class CopySource implements java.
this.pegRevision = pegRevision;
}
+ public org.apache.subversion.javahl.CopySource toApache()
+ {
+ return new org.apache.subversion.javahl.CopySource(path,
+ revision == null ? null : revision.toApache(),
+ pegRevision == null ? null : pegRevision.toApache());
+ }
+
/**
* @return The source path or URL.
*/
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Depth.java Tue Aug 10 18:06:17 2010
@@ -121,4 +121,44 @@ public final class Depth
{
return (recurse ? unknown : immediates);
}
+
+ public static org.apache.subversion.javahl.Depth toADepth(int depth)
+ {
+ switch(depth)
+ {
+ case infinity:
+ return org.apache.subversion.javahl.Depth.infinity;
+ case immediates:
+ return org.apache.subversion.javahl.Depth.immediates;
+ case files:
+ return org.apache.subversion.javahl.Depth.files;
+ case empty:
+ return org.apache.subversion.javahl.Depth.empty;
+ case exclude:
+ return org.apache.subversion.javahl.Depth.exclude;
+ case unknown:
+ default:
+ return org.apache.subversion.javahl.Depth.unknown;
+ }
+ }
+
+ public static int fromADepth(org.apache.subversion.javahl.Depth aDepth)
+ {
+ switch(aDepth)
+ {
+ case infinity:
+ return infinity;
+ case immediates:
+ return immediates;
+ case files:
+ return files;
+ case empty:
+ return empty;
+ case exclude:
+ return exclude;
+ case unknown:
+ default:
+ return unknown;
+ }
+ }
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DiffSummary.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DiffSummary.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DiffSummary.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DiffSummary.java Tue Aug 10 18:06:17 2010
@@ -66,6 +66,16 @@ public class DiffSummary extends EventOb
}
/**
+ * This constructor is for backward compat.
+ */
+ DiffSummary(org.apache.subversion.javahl.DiffSummary aSummary)
+ {
+ this(aSummary.getPath(), aSummary.getDiffKind().ordinal(),
+ aSummary.propsChanged(),
+ NodeKind.fromApache(aSummary.getNodeKind()));
+ }
+
+ /**
* @return The path we have a diff for.
*/
public String getPath()
@@ -148,6 +158,13 @@ public class DiffSummary extends EventOb
}
}
+ public static DiffKind fromApache(
+ org.apache.subversion.javahl.DiffSummary.DiffKind aKind)
+ {
+ /* This is cheating... */
+ return getInstance(aKind.hashCode());
+ }
+
/**
* @param diffKind A DiffKind for comparison.
* @return Whether both DiffKinds are of the same type.
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/DirEntry.java Tue Aug 10 18:06:17 2010
@@ -148,6 +148,19 @@ public class DirEntry implements java.io
}
/**
+ * A backward-compat constructor
+ */
+ DirEntry(org.apache.subversion.javahl.DirEntry aEntry)
+ {
+ this(aEntry.getPath(), aEntry.getAbsPath(),
+ NodeKind.fromApache(aEntry.getNodeKind()),
+ aEntry.getSize(), aEntry.getHasProps(),
+ aEntry.getLastChangedRevisionNumber(),
+ aEntry.getLastChanged().getTime() * 1000,
+ aEntry.getLastAuthor());
+ }
+
+ /**
* Returns the path of the entry.
* @return the path of the entry.
*/
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java Tue Aug 10 18:06:17 2010
@@ -141,6 +141,21 @@ public class Info implements java.io.Ser
}
/**
+ * A backward-compat constructor
+ */
+ public Info(org.apache.subversion.javahl.Info aInfo)
+ {
+ this(aInfo.getName(), aInfo.getUrl(), aInfo.getUuid(),
+ aInfo.getRepository(), aInfo.getSchedule().ordinal(),
+ NodeKind.fromApache(aInfo.getNodeKind()),
+ aInfo.getAuthor(), aInfo.getRevision(),
+ aInfo.getLastChangedRevision(), aInfo.getLastChangedDate(),
+ aInfo.getLastDateTextUpdate(), aInfo.getLastDatePropsUpdate(),
+ aInfo.isCopied(), aInfo.isDeleted(), aInfo.isAbsent(),
+ aInfo.isIncomplete(), aInfo.getCopyRev(), aInfo.getCopyUrl());
+ }
+
+ /**
* Retrieves the name of the item
* @return name of the item
*/
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java Tue Aug 10 18:06:17 2010
@@ -248,6 +248,33 @@ public class Info2 implements java.io.Se
}
/**
+ * A backward-compat constructor.
+ */
+ public Info2(org.apache.subversion.javahl.Info2 aInfo)
+ {
+ this(aInfo.getPath(), aInfo.getUrl(), aInfo.getRev(),
+ NodeKind.fromApache(aInfo.getKind()),
+ aInfo.getReposRootUrl(), aInfo.getReposUUID(),
+ aInfo.getLastChangedRev(),
+ aInfo.getLastChangedDate() == null ? 0
+ : aInfo.getLastChangedDate().getTime() * 1000,
+ aInfo.getLastChangedAuthor(),
+ aInfo.getLock() == null ? null : new Lock(aInfo.getLock()),
+ aInfo.isHasWcInfo(), aInfo.getSchedule().ordinal(),
+ aInfo.getCopyFromUrl(), aInfo.getCopyFromRev(),
+ aInfo.getTextTime() == null ? 0
+ : aInfo.getTextTime().getTime() * 1000,
+ aInfo.getPropTime() == null ? 0
+ : aInfo.getPropTime().getTime() * 1000, aInfo.getChecksum(),
+ aInfo.getConflictOld(), aInfo.getConflictNew(),
+ aInfo.getConflictWrk(), aInfo.getPrejfile(),
+ aInfo.getChangelistName(), aInfo.getWorkingSize(),
+ aInfo.getReposSize(), Depth.fromADepth(aInfo.getDepth()),
+ aInfo.getConflictDescriptor() == null ? null
+ : new ConflictDescriptor(aInfo.getConflictDescriptor()));
+ }
+
+ /**
* return the path of the item
*/
public String getPath()
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/InputInterface.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/InputInterface.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/InputInterface.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/InputInterface.java Tue Aug 10 18:06:17 2010
@@ -23,24 +23,11 @@
package org.tigris.subversion.javahl;
-import java.io.IOException;
-
/**
* Interface for data to be received from subversion
* used for SVNAdmin.load and SVNAdmin.dump
*/
public interface InputInterface
+ extends org.apache.subversion.javahl.IInput
{
- /**
- * read the number of data.length bytes from input.
- * @param data array to store the read bytes.
- * @throws IOException throw in case of problems.
- */
- public int read(byte [] data) throws IOException;
-
- /**
- * close the input
- * @throws IOException throw in case of problems.
- */
- public void close() throws IOException;
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Lock.java Tue Aug 10 18:06:17 2010
@@ -39,7 +39,7 @@ public class Lock implements java.io.Ser
// http://java.sun.com/j2se/1.4/pdf/serial-spec.pdf
// http://java.sun.com/j2se/1.5.0/docs/guide/serialization/spec/version.html#6678
// http://java.sun.com/javase/6/docs/platform/serialization/spec/version.html#6678
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 2L;
/**
* the owner of the lock
@@ -91,6 +91,16 @@ public class Lock implements java.io.Ser
this.expirationDate = expirationDate;
}
+ Lock(org.apache.subversion.javahl.Lock aLock)
+ {
+ this(aLock.getOwner(), aLock.getPath(), aLock.getToken(),
+ aLock.getComment(),
+ aLock.getCreationDate() == null ? 0
+ : aLock.getCreationDate().getTime() * 1000,
+ aLock.getExpirationDate() == null ? 0
+ : aLock.getExpirationDate().getTime() * 1000);
+ }
+
/**
* @return the owner of the lock
*/
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Mergeinfo.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Mergeinfo.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Mergeinfo.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Mergeinfo.java Tue Aug 10 18:06:17 2010
@@ -50,11 +50,11 @@ public class Mergeinfo implements java.i
* A mapping of repository-relative paths to a list of revision
* ranges.
*/
- private Map mergeSources;
+ private Map<String, List<RevisionRange>> mergeSources;
public Mergeinfo()
{
- mergeSources = new HashMap();
+ mergeSources = new HashMap<String, List<RevisionRange>>();
}
/**
@@ -69,6 +69,28 @@ public class Mergeinfo implements java.i
}
/**
+ * A constructor for backward compat.
+ */
+ public Mergeinfo(org.apache.subversion.javahl.Mergeinfo aMergeinfo)
+ {
+ this();
+ Set<String> srcPaths = aMergeinfo.getPaths();
+
+ for (String srcPath : srcPaths)
+ {
+ List<org.apache.subversion.javahl.RevisionRange> aRanges =
+ aMergeinfo.getRevisionRange(srcPath);
+ List<RevisionRange> list = new ArrayList<RevisionRange>();
+
+ for (org.apache.subversion.javahl.RevisionRange range : aRanges)
+ {
+ list.add(new RevisionRange(range));
+ }
+ mergeSources.put(srcPath, list);
+ }
+ }
+
+ /**
* Add one or more RevisionRange objects to merge info. If the
* merge source is already stored, the list of revisions is
* replaced.
@@ -92,9 +114,9 @@ public class Mergeinfo implements java.i
*/
public void addRevisionRange(String mergeSrc, RevisionRange range)
{
- List revisions = this.getRevisions(mergeSrc);
+ List<RevisionRange> revisions = this.getRevisions(mergeSrc);
if (revisions == null)
- revisions = new ArrayList();
+ revisions = new ArrayList<RevisionRange>();
revisions.add(range);
this.setRevisionList(mergeSrc, revisions);
}
@@ -105,10 +127,10 @@ public class Mergeinfo implements java.i
*/
public String[] getPaths()
{
- Set pathSet = mergeSources.keySet();
+ Set<String> pathSet = mergeSources.keySet();
if (pathSet == null)
return null;
- return (String []) pathSet.toArray(new String[pathSet.size()]);
+ return pathSet.toArray(new String[pathSet.size()]);
}
/**
@@ -116,11 +138,11 @@ public class Mergeinfo implements java.i
* @param mergeSrc The merge source URL, or <code>null</code>.
* @return List of RevisionRange objects, or <code>null</code>.
*/
- public List getRevisions(String mergeSrc)
+ public List<RevisionRange> getRevisions(String mergeSrc)
{
if (mergeSrc == null)
return null;
- return (List) mergeSources.get(mergeSrc);
+ return mergeSources.get(mergeSrc);
}
/**
@@ -130,11 +152,10 @@ public class Mergeinfo implements java.i
*/
public RevisionRange[] getRevisionRange(String mergeSrc)
{
- List revisions = this.getRevisions(mergeSrc);
+ List<RevisionRange> revisions = this.getRevisions(mergeSrc);
if (revisions == null)
return null;
- return (RevisionRange [])
- revisions.toArray(new RevisionRange[revisions.size()]);
+ return revisions.toArray(new RevisionRange[revisions.size()]);
}
/**
@@ -181,14 +202,14 @@ public class Mergeinfo implements java.i
*/
private void parseRevisions(String path, String revisions)
{
- List rangeList = this.getRevisions(path);
+ List<RevisionRange> rangeList = this.getRevisions(path);
StringTokenizer st = new StringTokenizer(revisions, ",");
while (st.hasMoreTokens())
{
String revisionElement = st.nextToken();
RevisionRange range = new RevisionRange(revisionElement);
if (rangeList == null)
- rangeList = new ArrayList();
+ rangeList = new ArrayList<RevisionRange>();
rangeList.add(range);
}
if (rangeList != null)
@@ -203,7 +224,7 @@ public class Mergeinfo implements java.i
* @param mergeSrc The merge source URL.
* @param range List of RevisionRange objects to add.
*/
- private void setRevisionList(String mergeSrc, List range)
+ private void setRevisionList(String mergeSrc, List<RevisionRange> range)
{
mergeSources.put(mergeSrc, range);
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/MergeinfoLogKind.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/MergeinfoLogKind.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/MergeinfoLogKind.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/MergeinfoLogKind.java Tue Aug 10 18:06:17 2010
@@ -24,13 +24,14 @@
package org.tigris.subversion.javahl;
/**
- * class for kind of mergeinfo logs
+ * Constants to specify which collection of revisions to report in
+ * getMergeinfoLog.
*/
public interface MergeinfoLogKind
{
- /** does not exist */
+ /** Revisions eligible for merging from merge-source to merge-target. */
public static final int eligible = 0;
- /** exists, but uninteresting */
+ /** Revisions already merged from merge-source to merge-target. */
public static final int merged = 1;
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NodeKind.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NodeKind.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NodeKind.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NodeKind.java Tue Aug 10 18:06:17 2010
@@ -60,4 +60,20 @@ public final class NodeKind
{
return statusNames[kind];
}
+
+ public static int fromApache(org.apache.subversion.javahl.NodeKind aKind)
+ {
+ switch(aKind)
+ {
+ case none:
+ return none;
+ case file:
+ return file;
+ case dir:
+ return dir;
+ case unknown:
+ default:
+ return unknown;
+ }
+ }
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java Tue Aug 10 18:06:17 2010
@@ -146,6 +146,25 @@ public class NotifyInformation extends E
}
/**
+ * A backward-compat callback.
+ */
+ public NotifyInformation(
+ org.apache.subversion.javahl.NotifyInformation aInfo)
+ {
+ this(aInfo.getPath(),
+ fromAAction(aInfo.getAction()),
+ NodeKind.fromApache(aInfo.getKind()), aInfo.getMimeType(),
+ aInfo.getLock() == null ? null : new Lock(aInfo.getLock()),
+ aInfo.getErrMsg(), fromAStatus(aInfo.getContentState()),
+ fromAStatus(aInfo.getPropState()),
+ aInfo.getLockState().ordinal(), aInfo.getRevision(),
+ aInfo.getChangelistName(),
+ aInfo.getMergeRange() == null ? null
+ : new RevisionRange(aInfo.getMergeRange()),
+ aInfo.getPathPrefix());
+ }
+
+ /**
* @return The path of the item, which is the source of the event.
*/
public String getPath()
@@ -251,4 +270,45 @@ public class NotifyInformation extends E
{
return pathPrefix;
}
+
+ private static int
+ fromAStatus(org.apache.subversion.javahl.NotifyInformation.Status aStatus)
+ {
+ switch(aStatus)
+ {
+ default:
+ case inapplicable:
+ return NotifyStatus.inapplicable;
+ case unknown:
+ return NotifyStatus.unknown;
+ case unchanged:
+ return NotifyStatus.unchanged;
+ case missing:
+ return NotifyStatus.missing;
+ case obstructed:
+ return NotifyStatus.obstructed;
+ case changed:
+ return NotifyStatus.changed;
+ case merged:
+ return NotifyStatus.merged;
+ case conflicted:
+ return NotifyStatus.conflicted;
+ }
+ }
+
+ private static int
+ fromAAction(org.apache.subversion.javahl.NotifyInformation.Action aAction)
+ {
+ if (aAction == null)
+ return -1;
+
+ int order = aAction.ordinal();
+
+ /* The new class adds an item after changelist_clear, so adjust
+ accordingly. */
+ if (order < NotifyAction.changelist_clear)
+ return order;
+ else
+ return order - 1;
+ }
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/OutputInterface.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/OutputInterface.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/OutputInterface.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/OutputInterface.java Tue Aug 10 18:06:17 2010
@@ -23,23 +23,10 @@
package org.tigris.subversion.javahl;
-import java.io.IOException;
-
/**
* Interface to send data to subversion used by SVNAdmin.load.
*/
public interface OutputInterface
+ extends org.apache.subversion.javahl.IOutput
{
- /**
- * write the bytes in data to java
- * @param data the data to be writtem
- * @throws IOException throw in case of problems.
- */
- public int write(byte[] data) throws IOException;
-
- /**
- * close the output
- * @throws IOException throw in case of problems.
- */
- public void close() throws IOException;
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java Tue Aug 10 18:06:17 2010
@@ -28,39 +28,6 @@ package org.tigris.subversion.javahl;
*
* @since 1.4.0
*/
-public class Path
+public class Path extends org.apache.subversion.javahl.Path
{
- /**
- * Load the required native library.
- */
- static
- {
- NativeResources.loadNativeLibrary();
- }
-
- /**
- * A valid path is a UTF-8 string without any control characters.
- *
- * @return Whether Subversion can store the path in a repository.
- */
- public static native boolean isValid(String path);
-
- /**
- * Whether a URL is valid. Implementation may behave differently
- * than <code>svn_path_is_url()</code>.
- *
- * @param path The Subversion "path" to inspect.
- * @return Whether <code>path</code> is a URL.
- * @throws IllegalArgumentException If <code>path</code> is
- * <code>null</code>.
- */
- public static boolean isURL(String path)
- {
- if (path == null)
- {
- throw new IllegalArgumentException();
- }
- // Require at least "s://".
- return (path.indexOf("://") > 0);
- }
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProgressEvent.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProgressEvent.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProgressEvent.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProgressEvent.java Tue Aug 10 18:06:17 2010
@@ -65,6 +65,14 @@ public class ProgressEvent implements ja
}
/**
+ * A backward-compat constructor.
+ */
+ public ProgressEvent(org.apache.subversion.javahl.ProgressEvent aEvent)
+ {
+ this(aEvent.getProgress(), aEvent.getTotal());
+ }
+
+ /**
* @return The number of bytes already transferred.
*/
public long getProgress()
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PromptUserPassword.java Tue Aug 10 18:06:17 2010
@@ -29,51 +29,6 @@ package org.tigris.subversion.javahl;
* PromptUserPassword3 instead.
*/
public interface PromptUserPassword
+ extends org.apache.subversion.javahl.callback.UserPasswordCallback
{
- /**
- * Ask the user for username and password
- * The entered username/password is retrieved by the getUsername
- * getPasswort methods.
- *
- * @param realm for which server realm this information is requested.
- * @param username the default username
- * @return Whether the prompt for authentication credentials was
- * successful (e.g. in a GUI application whether the dialog box
- * was canceled).
- */
- public boolean prompt(String realm, String username);
-
- /**
- * ask the user a yes/no question
- * @param realm for which server realm this information is
- * requested.
- * @param question question to be asked
- * @param yesIsDefault if yes should be the default
- * @return the answer
- */
- public boolean askYesNo(String realm, String question,
- boolean yesIsDefault);
-
- /**
- * ask the user a question where she answers with a text.
- * @param realm for which server realm this information is
- * requested.
- * @param question question to be asked
- * @param showAnswer if the answer is shown or hidden
- * @return the entered text or null if canceled
- */
- public String askQuestion(String realm, String question,
- boolean showAnswer);
-
- /**
- * retrieve the username entered during the prompt call
- * @return the username
- */
- public String getUsername();
-
- /**
- * retrieve the password entered during the prompt call
- * @return the password
- */
- public String getPassword();
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/PropertyData.java Tue Aug 10 18:06:17 2010
@@ -52,7 +52,7 @@ public class PropertyData
* reference to the creating SVNClient object to change or delete this
* property
*/
- private SVNClient client;
+ private SVNClientInterface client;
/**
* Standard subversion known properties
@@ -128,7 +128,7 @@ public class PropertyData
* @param v the string value of the property
* @param d the byte array value of the property
*/
- PropertyData(SVNClient cl, String p, String n, String v, byte[] d)
+ PropertyData(SVNClientInterface cl, String p, String n, String v, byte[] d)
{
path = p;
name = n;
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProplistCallback.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProplistCallback.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProplistCallback.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProplistCallback.java Tue Aug 10 18:06:17 2010
@@ -23,18 +23,11 @@
package org.tigris.subversion.javahl;
-import java.util.Map;
-
/**
* This interface is used to property lists for each path in a
* SVNClientInterface.properties call.
*/
public interface ProplistCallback
+ extends org.apache.subversion.javahl.callback.ProplistCallback
{
- /**
- * the method will be called for every line in a file.
- * @param path the path.
- * @param properties the properties on the path.
- */
- public void singlePath(String path, Map properties);
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProplistCallbackImpl.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProplistCallbackImpl.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProplistCallbackImpl.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/ProplistCallbackImpl.java Tue Aug 10 18:06:17 2010
@@ -33,15 +33,24 @@ import java.util.Map;
*/
public class ProplistCallbackImpl implements ProplistCallback
{
- Map propMap = new HashMap();
+ Map<String, Map<String, byte[]>> propMap =
+ new HashMap<String, Map<String, byte[]>>();
- public void singlePath(String path, Map props)
+ public void singlePath(String path, Map<String, byte[]> props)
{
propMap.put(path, props);
}
- public Map getProperties(String path)
+ public Map<String, String> getProperties(String path)
{
- return (Map) propMap.get(path);
+ Map<String, String> props = new HashMap<String, String>();
+ Map<String, byte[]> pdata = propMap.get(path);
+
+ for (String key : pdata.keySet())
+ {
+ props.put(key, new String(pdata.get(key)));
+ }
+
+ return props;
}
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Revision.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Revision.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Revision.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Revision.java Tue Aug 10 18:06:17 2010
@@ -155,6 +155,27 @@ public class Revision implements java.io
return new Revision.DateSpec(revisionDate);
}
+ public org.apache.subversion.javahl.Revision toApache()
+ {
+ return new org.apache.subversion.javahl.Revision(Kind.toAKind(revKind));
+ }
+
+ public static Revision createFromApache(
+ org.apache.subversion.javahl.Revision aRev)
+ {
+ org.apache.subversion.javahl.Revision.Kind kind = aRev.getKind();
+
+ switch (kind)
+ {
+ case number:
+ return getInstance(((org.apache.subversion.javahl.Revision.Number) aRev).getNumber());
+ case date:
+ return getInstance(((org.apache.subversion.javahl.Revision.DateSpec) aRev).getDate());
+ default:
+ return getInstance(Kind.fromAKind(kind));
+ }
+ }
+
/**
* last commited revision
*/
@@ -256,6 +277,11 @@ public class Revision implements java.io
{
return (int)(revNumber ^ (revNumber >>> 32));
}
+
+ public org.apache.subversion.javahl.Revision toApache()
+ {
+ return org.apache.subversion.javahl.Revision.getInstance(revNumber);
+ }
}
/**
@@ -323,6 +349,10 @@ public class Revision implements java.io
return revDate.hashCode();
}
+ public org.apache.subversion.javahl.Revision toApache()
+ {
+ return org.apache.subversion.javahl.Revision.getInstance(revDate);
+ }
}
/**
@@ -338,5 +368,52 @@ public class Revision implements java.io
*/
public static final class Kind implements RevisionKind
{
+ public static int fromAKind(org.apache.subversion.javahl.Revision.Kind aKind)
+ {
+ switch (aKind)
+ {
+ default:
+ case unspecified:
+ return RevisionKind.unspecified;
+ case number:
+ return RevisionKind.number;
+ case date:
+ return RevisionKind.date;
+ case committed:
+ return RevisionKind.committed;
+ case previous:
+ return RevisionKind.previous;
+ case base:
+ return RevisionKind.base;
+ case head:
+ return RevisionKind.head;
+ case working:
+ return RevisionKind.working;
+ }
+ }
+
+ public static org.apache.subversion.javahl.Revision.Kind toAKind(int kind)
+ {
+ switch (kind)
+ {
+ default:
+ case RevisionKind.unspecified:
+ return org.apache.subversion.javahl.Revision.Kind.unspecified;
+ case RevisionKind.number:
+ return org.apache.subversion.javahl.Revision.Kind.number;
+ case RevisionKind.date:
+ return org.apache.subversion.javahl.Revision.Kind.date;
+ case RevisionKind.committed:
+ return org.apache.subversion.javahl.Revision.Kind.committed;
+ case RevisionKind.previous:
+ return org.apache.subversion.javahl.Revision.Kind.previous;
+ case RevisionKind.base:
+ return org.apache.subversion.javahl.Revision.Kind.base;
+ case RevisionKind.head:
+ return org.apache.subversion.javahl.Revision.Kind.head;
+ case RevisionKind.working:
+ return org.apache.subversion.javahl.Revision.Kind.working;
+ }
+ }
}
}
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/RevisionRange.java
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/RevisionRange.java?rev=984153&r1=984152&r2=984153&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/RevisionRange.java (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/RevisionRange.java Tue Aug 10 18:06:17 2010
@@ -57,6 +57,12 @@ public class RevisionRange implements Co
this.to = to;
}
+ public RevisionRange(org.apache.subversion.javahl.RevisionRange aRange)
+ {
+ this(Revision.createFromApache(aRange.getFromRevision()),
+ Revision.createFromApache(aRange.getToRevision()));
+ }
+
/**
* Accepts a string in one of these forms: n m-n Parses the results into a
* from and to revision
@@ -103,6 +109,13 @@ public class RevisionRange implements Co
}
}
+ public org.apache.subversion.javahl.RevisionRange toApache()
+ {
+ return new org.apache.subversion.javahl.RevisionRange(
+ from == null ? null : from.toApache(),
+ to == null ? null : to.toApache());
+ }
+
public Revision getFromRevision()
{
return from;