From 9daf7a540cfb5a04c8e5360ae05126068dcb2b9c Mon Sep 17 00:00:00 2001 From: "ashuk%eng.sun.com" Date: Wed, 8 Mar 2000 18:49:36 +0000 Subject: [PATCH] a=edburns r=edburns author=ashuk bug=28407 Made fix for new BookmarksImpl.java file -- Ashu K. git-svn-id: svn://10.0.0.236/trunk@62398 18797224-902f-48f8-a5cc-f745e15eee43 --- .../java/webclient/src_moz/BookmarksImpl.cpp | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/mozilla/java/webclient/src_moz/BookmarksImpl.cpp b/mozilla/java/webclient/src_moz/BookmarksImpl.cpp index f51d1dc5a5b..3d4dfbd32c9 100644 --- a/mozilla/java/webclient/src_moz/BookmarksImpl.cpp +++ b/mozilla/java/webclient/src_moz/BookmarksImpl.cpp @@ -54,22 +54,40 @@ JNIEXPORT jint JNICALL Java_org_mozilla_webclient_wrapper_1native_BookmarksImpl_ JNIEXPORT jint JNICALL Java_org_mozilla_webclient_wrapper_1native_BookmarksImpl_nativeNewRDFNode -(JNIEnv *env, jobject obj, jstring urlString) +(JNIEnv *env, jobject obj, jstring urlString, jboolean isFolder) { nsCOMPtr newNode; nsresult rv; jint result = -1; + nsAutoString uri("NC:BookmarksRoot"); const char *url = env->GetStringUTFChars(urlString, NULL); + uri.Append("#$"); + uri.Append(url); printf("debug: edburns: nativeNewRDFNode: url: %s\n", url); - rv = gRDF->GetResource(url, getter_AddRefs(newNode)); + rv = gRDF->GetUnicodeResource(uri.GetUnicode(), getter_AddRefs(newNode)); env->ReleaseStringUTFChars(urlString, url); if (NS_FAILED(rv)) { ::util_ThrowExceptionToJava(env, "Exception: nativeNewRDFNode: can't create new nsIRDFResource."); return result; } + if (isFolder) { + rv = gRDFCU->MakeSeq(gBookmarksDataSource, newNode, nsnull); + if (NS_FAILED(rv)) { + ::util_ThrowExceptionToJava(env, "Exception: unable to make new folder as a sequence."); + return result; + } + rv = gBookmarksDataSource->Assert(newNode, kRDF_type, + kNC_Folder, PR_TRUE); + if (rv != NS_OK) { + ::util_ThrowExceptionToJava(env, "Exception: unable to mark new folder as folder."); + + return result; + } + } + /* * Do the AddRef here.