Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/bindings/javahl/native/CreateJ.cpp view on Meta::CPAN
POP_AND_RETURN_NULL;
jobject jAction = EnumMapper::mapNotifyAction(wcNotify->action);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jobject jKind = EnumMapper::mapNodeKind(wcNotify->kind);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jstring jMimeType = JNIUtil::makeJString(wcNotify->mime_type);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jobject jLock = CreateJ::Lock(wcNotify->lock);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jstring jErr = JNIUtil::makeSVNErrorMessage(wcNotify->err);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jobject jContentState = EnumMapper::mapNotifyState(wcNotify->content_state);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jobject jPropState = EnumMapper::mapNotifyState(wcNotify->prop_state);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jobject jLockState = EnumMapper::mapNotifyLockState(wcNotify->lock_state);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jstring jChangelistName = JNIUtil::makeJString(wcNotify->changelist_name);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jobject jMergeRange = NULL;
if (wcNotify->merge_range)
{
jMergeRange = RevisionRange::makeJRevisionRange(wcNotify->merge_range);
if (jMergeRange == NULL)
POP_AND_RETURN_NULL;
}
jstring jpathPrefix = JNIUtil::makeJString(wcNotify->path_prefix);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jstring jpropName = JNIUtil::makeJString(wcNotify->prop_name);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jobject jrevProps = CreateJ::PropertyMap(wcNotify->rev_props);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jlong joldRevision = wcNotify->old_revision;
jlong jhunkOriginalStart = wcNotify->hunk_original_start;
jlong jhunkOriginalLength = wcNotify->hunk_original_length;
jlong jhunkModifiedStart = wcNotify->hunk_modified_start;
jlong jhunkModifiedLength = wcNotify->hunk_modified_length;
jlong jhunkMatchedLine = wcNotify->hunk_matched_line;
jint jhunkFuzz = static_cast<jint>(wcNotify->hunk_fuzz);
if (jhunkFuzz != wcNotify->hunk_fuzz)
{
env->ThrowNew(env->FindClass("java.lang.ArithmeticException"),
"Overflow converting C svn_linenum_t to Java int");
POP_AND_RETURN_NULL;
}
// call the Java method
jobject jInfo = env->NewObject(clazz, midCT, jPath, jAction,
jKind, jMimeType, jLock, jErr,
jContentState, jPropState, jLockState,
(jlong) wcNotify->revision, jChangelistName,
jMergeRange, jpathPrefix, jpropName,
jrevProps, joldRevision,
jhunkOriginalStart, jhunkOriginalLength,
jhunkModifiedStart, jhunkModifiedLength,
jhunkMatchedLine, jhunkFuzz);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
return env->PopLocalFrame(jInfo);
}
jobject
CreateJ::ReposNotifyInformation(const svn_repos_notify_t *reposNotify)
{
JNIEnv *env = JNIUtil::getEnv();
// Create a local frame for our references
env->PushLocalFrame(LOCAL_FRAME_SIZE);
if (JNIUtil::isJavaExceptionThrown())
return NULL;
static jmethodID midCT = 0;
jclass clazz = env->FindClass(JAVA_PACKAGE"/ReposNotifyInformation");
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
if (midCT == 0)
{
midCT = env->GetMethodID(clazz, "<init>",
"(L"JAVA_PACKAGE"/ReposNotifyInformation$Action;"
"JLjava/lang/String;JJJ"
"L"JAVA_PACKAGE"/ReposNotifyInformation$NodeAction;"
"Ljava/lang/String;)V");
if (JNIUtil::isJavaExceptionThrown() || midCT == 0)
POP_AND_RETURN_NULL;
}
// convert the parameters to their Java relatives
jobject jAction = EnumMapper::mapReposNotifyAction(reposNotify->action);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
jstring jWarning = JNIUtil::makeJString(reposNotify->warning_str);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
( run in 0.480 second using v1.01-cache-2.11-cpan-ceb78f64989 )