Bookmarks test (add support for folder groups). NOT PART OF BUILD.

git-svn-id: svn://10.0.0.236/branches/RJCTEST_BRANCH@127511 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
rjc%netscape.com
2002-08-16 23:34:37 +00:00
parent 7416dabb43
commit 48cfb9b3f2
2 changed files with 31 additions and 3 deletions

View File

@@ -94,6 +94,15 @@
#define MOZ_SCHEMA_NAME "mozillaName"
#define MOZ_SCHEMA_KEYWORD "mozillaKeyword"
#define MOZ_SCHEMA_DESCRIPTION "mozillaDesc"
#define MOZ_SCHEMA_GROUPFLAG "mozillaGroupFlag"
// XXX ToDo schema items
#define MOZ_SCHEMA_LASTCHARSET "mozillaLastCharset"
#define MOZ_SCHEMA_ICONURL "mozillaIconURL"
#define MOZ_SCHEMA_DATEADDED "mozillaDateAdded"
#define MOZ_SCHEMA_LASTMOD "mozillaDateLastMod"
#define MOZ_SCHEMA_LASTVISIT "mozillaDateLastVisit"
#define MOZ_SCHEMA_SEPARATORFLAG "mozillaSeparatorFlag"
#define NS_LDAPCONNECTION_CONTRACTID "@mozilla.org/network/ldap-connection;1"
#define NS_LDAPOPERATION_CONTRACTID "@mozilla.org/network/ldap-operation;1"
@@ -117,12 +126,15 @@ nsIRDFResource *nsRemoteBookmarks::kRDF_type;
nsIRDFResource *nsRemoteBookmarks::kNC_Bookmark;
nsIRDFResource *nsRemoteBookmarks::kNC_BookmarkSeparator;
nsIRDFResource *nsRemoteBookmarks::kNC_Folder;
nsIRDFResource *nsRemoteBookmarks::kNC_FolderGroup;
nsIRDFResource *nsRemoteBookmarks::kNC_Parent;
nsIRDFResource *nsRemoteBookmarks::kNC_Child;
nsIRDFResource *nsRemoteBookmarks::kNC_URL;
nsIRDFResource *nsRemoteBookmarks::kNC_Name;
nsIRDFResource *nsRemoteBookmarks::kNC_ShortcutURL;
nsIRDFResource *nsRemoteBookmarks::kNC_Description;
nsIRDFLiteral *nsRemoteBookmarks::kTrueLiteral;
nsIRDFResource *nsRemoteBookmarks::kNC_BookmarkCommand_NewBookmark;
nsIRDFResource *nsRemoteBookmarks::kNC_BookmarkCommand_NewFolder;
@@ -161,12 +173,14 @@ nsRemoteBookmarks::~nsRemoteBookmarks()
NS_IF_RELEASE(kNC_Bookmark);
NS_IF_RELEASE(kNC_BookmarkSeparator);
NS_IF_RELEASE(kNC_Folder);
NS_IF_RELEASE(kNC_FolderGroup);
NS_IF_RELEASE(kNC_Parent);
NS_IF_RELEASE(kNC_Child);
NS_IF_RELEASE(kNC_URL);
NS_IF_RELEASE(kNC_Name);
NS_IF_RELEASE(kNC_ShortcutURL);
NS_IF_RELEASE(kNC_Description);
NS_IF_RELEASE(kTrueLiteral);
NS_IF_RELEASE(kNC_BookmarkCommand_NewBookmark);
NS_IF_RELEASE(kNC_BookmarkCommand_NewFolder);
@@ -241,6 +255,7 @@ nsRemoteBookmarks::Init()
gRDF->GetResource(NC_NAMESPACE_URI "Bookmark", &kNC_Bookmark);
gRDF->GetResource(NC_NAMESPACE_URI "BookmarkSeparator", &kNC_BookmarkSeparator);
gRDF->GetResource(NC_NAMESPACE_URI "Folder", &kNC_Folder);
gRDF->GetResource(NC_NAMESPACE_URI "FolderGroup", &kNC_FolderGroup);
gRDF->GetResource(NC_NAMESPACE_URI "parent", &kNC_Parent);
gRDF->GetResource(NC_NAMESPACE_URI "child", &kNC_Child);
gRDF->GetResource(NC_NAMESPACE_URI "URL", &kNC_URL);
@@ -248,6 +263,8 @@ nsRemoteBookmarks::Init()
gRDF->GetResource(NC_NAMESPACE_URI "ShortcutURL", &kNC_ShortcutURL);
gRDF->GetResource(NC_NAMESPACE_URI "Description", &kNC_Description);
gRDF->GetLiteral(NS_LITERAL_STRING("true").get(), &kTrueLiteral);
gRDF->GetResource(NC_NAMESPACE_URI "command?cmd=newbookmark", &kNC_BookmarkCommand_NewBookmark);
gRDF->GetResource(NC_NAMESPACE_URI "command?cmd=newfolder", &kNC_BookmarkCommand_NewFolder);
gRDF->GetResource(NC_NAMESPACE_URI "command?cmd=newseparator", &kNC_BookmarkCommand_NewSeparator);
@@ -845,6 +862,7 @@ nsRemoteBookmarks::ArcLabelsOut(nsIRDFResource* aSource,
array->AppendElement(kNC_Bookmark);
array->AppendElement(kNC_Folder);
array->AppendElement(kNC_FolderGroup);
array->AppendElement(kNC_Child);
array->AppendElement(kNC_URL);
array->AppendElement(kNC_Name);
@@ -1285,10 +1303,10 @@ nsRemoteBookmarks::OnLDAPMessage(nsILDAPMessage *aMessage)
rv = mLDAPURL->GetFilter(getter_Copies (filter));
NS_ENSURE_SUCCESS(rv, rv);
static const PRUint32 numLDAPAttrs = 5;
static const PRUint32 numLDAPAttrs = 6;
static const char *attrs[numLDAPAttrs] = {
MOZ_SCHEMA_URL, MOZ_SCHEMA_NAME, MOZ_SCHEMA_KEYWORD,
MOZ_SCHEMA_DESCRIPTION, MOZ_SCHEMA_OBJ_CLASS
MOZ_SCHEMA_DESCRIPTION, MOZ_SCHEMA_GROUPFLAG, MOZ_SCHEMA_OBJ_CLASS
};
// when we called SetSpec(), our spec contained UTF8 data
@@ -1583,7 +1601,7 @@ nsRemoteBookmarks::OnLDAPMessage(nsILDAPMessage *aMessage)
nsCOMPtr<nsIRDFLiteral> searchResLit;
// check objectclass to determine what we are dealing with
nsAutoString classStr, urlStr, nameStr, keywordStr, descStr;
nsAutoString classStr, urlStr, nameStr, keywordStr, descStr, groupFlagStr;
GetLDAPMsgAttrValue(aMessage, MOZ_SCHEMA_OBJ_CLASS, classStr);
classStr.Trim(" \t");
@@ -1611,6 +1629,7 @@ nsRemoteBookmarks::OnLDAPMessage(nsILDAPMessage *aMessage)
// it is a Folder
GetLDAPMsgAttrValue(aMessage, MOZ_SCHEMA_NAME, nameStr);
GetLDAPMsgAttrValue(aMessage, MOZ_SCHEMA_DESCRIPTION, descStr);
GetLDAPMsgAttrValue(aMessage, MOZ_SCHEMA_GROUPFLAG, groupFlagStr);
rv = gRDF->GetResource(ldapSearchUrlString.get(), getter_AddRefs(searchRes));
NS_ENSURE_SUCCESS(rv, rv);
@@ -1659,6 +1678,13 @@ nsRemoteBookmarks::OnLDAPMessage(nsILDAPMessage *aMessage)
}
}
if (groupFlagStr.EqualsIgnoreCase("TRUE"))
{
// assert #FolderGroup
rv = mInner->Assert(searchRes, kNC_FolderGroup, kTrueLiteral, PR_TRUE);
NS_ENSURE_SUCCESS(rv, rv);
}
if (searchType)
{
rv = mInner->Assert(searchRes, kRDF_type, searchType, PR_TRUE);

View File

@@ -86,12 +86,14 @@ protected:
static nsIRDFResource *kNC_Bookmark;
static nsIRDFResource *kNC_BookmarkSeparator;
static nsIRDFResource *kNC_Folder;
static nsIRDFResource *kNC_FolderGroup;
static nsIRDFResource *kNC_Parent;
static nsIRDFResource *kNC_Child;
static nsIRDFResource *kNC_URL;
static nsIRDFResource *kNC_Name;
static nsIRDFResource *kNC_ShortcutURL;
static nsIRDFResource *kNC_Description;
static nsIRDFLiteral *kTrueLiteral;
static nsIRDFResource *kNC_BookmarkCommand_NewBookmark;
static nsIRDFResource *kNC_BookmarkCommand_NewFolder;