Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/javahl/native/CreateJ.cpp view on Meta::CPAN
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
static jmethodID mid = 0;
if (mid == 0)
{
mid = env->GetMethodID(clazz, "<init>",
"(Ljava/lang/String;Ljava/lang/String;"
"L"JAVA_PACKAGE"/types/NodeKind;"
"JJJLjava/lang/String;"
"L"JAVA_PACKAGE"/types/Status$Kind;"
"L"JAVA_PACKAGE"/types/Status$Kind;"
"L"JAVA_PACKAGE"/types/Status$Kind;"
"L"JAVA_PACKAGE"/types/Status$Kind;"
"ZZZZZL"JAVA_PACKAGE"/types/Lock;"
"L"JAVA_PACKAGE"/types/Lock;"
"JJL"JAVA_PACKAGE"/types/NodeKind;"
"Ljava/lang/String;Ljava/lang/String;"
"Ljava/lang/String;Ljava/lang/String;)V");
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
}
/* ### Calculate the old style text_status value to make
### the tests pass. It is probably better to do this in
### the tigris package and then switch the apache package
### to three statuses. */
jstring jUrl = NULL;
jobject jNodeKind = NULL;
jlong jRevision =
org_apache_subversion_javahl_types_Revision_SVN_INVALID_REVNUM;
jlong jLastChangedRevision =
org_apache_subversion_javahl_types_Revision_SVN_INVALID_REVNUM;
jlong jLastChangedDate = 0;
jstring jLastCommitAuthor = NULL;
jobject jLocalLock = NULL;
jstring jChangelist = NULL;
jstring jMovedFromAbspath = NULL;
jstring jMovedToAbspath = NULL;
enum svn_wc_status_kind text_status = status->node_status;
/* Avoid using values that might come from prop changes */
if (text_status == svn_wc_status_modified
|| text_status == svn_wc_status_conflicted)
text_status = status->text_status;
enum svn_wc_status_kind repos_text_status = status->repos_node_status;
if (repos_text_status == svn_wc_status_modified
|| repos_text_status == svn_wc_status_conflicted)
repos_text_status = status->repos_text_status;
jboolean jIsConflicted = (status->conflicted == 1) ? JNI_TRUE : JNI_FALSE;
jobject jTextType = EnumMapper::mapStatusKind(text_status);
jobject jPropType = EnumMapper::mapStatusKind(status->prop_status);
jobject jRepositoryTextType = EnumMapper::mapStatusKind(repos_text_status);
jobject jRepositoryPropType = EnumMapper::mapStatusKind(
status->repos_prop_status);
jboolean jIsCopied = (status->copied == 1) ? JNI_TRUE: JNI_FALSE;
jboolean jIsLocked = (status->wc_is_locked == 1) ? JNI_TRUE: JNI_FALSE;
jboolean jIsSwitched = (status->switched == 1) ? JNI_TRUE: JNI_FALSE;
jboolean jIsFileExternal = (status->file_external == 1) ? JNI_TRUE
: JNI_FALSE;
jstring jPath = JNIUtil::makeJString(status->local_abspath);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jobject jReposLock = CreateJ::Lock(status->repos_lock);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
if (status->repos_root_url)
{
jUrl = JNIUtil::makeJString(svn_path_url_add_component2(
status->repos_root_url,
status->repos_relpath,
pool));
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
}
jlong jOODLastCmtRevision = status->ood_changed_rev;
jlong jOODLastCmtDate = status->ood_changed_date;
jobject jOODKind = EnumMapper::mapNodeKind(status->ood_kind);
jstring jOODLastCmtAuthor = JNIUtil::makeJString(status->ood_changed_author);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
if (status->versioned)
{
jNodeKind = EnumMapper::mapNodeKind(status->kind);
jRevision = status->revision;
jLastChangedRevision = status->changed_rev;
jLastChangedDate = status->changed_date;
jLastCommitAuthor = JNIUtil::makeJString(status->changed_author);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jLocalLock = Lock(status->lock);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jChangelist = JNIUtil::makeJString(status->changelist);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
}
if (status->moved_from_abspath)
{
jMovedFromAbspath = JNIUtil::makeJString(status->moved_from_abspath);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
}
if (status->moved_to_abspath)
{
jMovedToAbspath = JNIUtil::makeJString(status->moved_to_abspath);
if (JNIUtil::isJavaExceptionThrown())
( run in 0.427 second using v1.01-cache-2.11-cpan-39bf76dae61 )