From b97ff24b430ff6e47bef1604f900eb7185135f76 Mon Sep 17 00:00:00 2001 From: apfelmaennchen Date: Wed, 24 Sep 2008 21:16:13 +0000 Subject: [PATCH] bookmarksDB / xbel.xml: - added support for folder=/foldername - it crashes if foldername ends with / git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@5207 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- source/de/anomic/data/bookmarksDB.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/source/de/anomic/data/bookmarksDB.java b/source/de/anomic/data/bookmarksDB.java index 1db9959f4..585da42e0 100644 --- a/source/de/anomic/data/bookmarksDB.java +++ b/source/de/anomic/data/bookmarksDB.java @@ -322,8 +322,12 @@ public class bookmarksDB { return indexWord.word2hash(user+":"+tagName.toLowerCase()); } - public Iterator getFolderList(final boolean priv){ + public Iterator getFolderList(final boolean priv){ + return getFolderList("/", priv); + } + public Iterator getFolderList(final String root, final boolean priv){ + final Set folders = new TreeSet(); String path = ""; final Iterator it = this.getTagIterator(priv); @@ -331,15 +335,16 @@ public class bookmarksDB { while(it.hasNext()){ tag=it.next(); - if (tag.getFriendlyName().startsWith("/")) { + if (tag.getFriendlyName().startsWith(root)) { path = tag.getFriendlyName(); path = cleanTagsString(path); - while(path.length() > 0){ - folders.add(path); + while(path.length() > 0 && !path.equals(root)){ + folders.add(path); path = path.replaceAll("(/.[^/]*$)", ""); // create missing folders in path } } } + if (!root.equals("/")) { folders.add(root); } folders.add("\uffff"); return folders.iterator(); }