From d5e27009b12e0d54b40971dbf06539c1ecf5f108 Mon Sep 17 00:00:00 2001 From: allo Date: Mon, 26 Dec 2005 19:48:19 +0000 Subject: [PATCH] bookmarks: -bugfixes -deleting git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@1253 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- htroot/Bookmarks_p.java | 14 ++++++++++++-- source/de/anomic/data/bookmarksDB.java | 11 ++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/htroot/Bookmarks_p.java b/htroot/Bookmarks_p.java index 18d9c0d5c..94fc14d4f 100644 --- a/htroot/Bookmarks_p.java +++ b/htroot/Bookmarks_p.java @@ -88,6 +88,10 @@ public class Bookmarks_p { //ERROR } } + if(post.containsKey("delete")){ + String urlHash=(String) post.get("delete"); + switchboard.bookmarksDB.removeBookmark(urlHash); + } if(post.containsKey("tag")){ tag=(String) post.get("tag"); } @@ -106,8 +110,13 @@ public class Bookmarks_p { boolean viewTag=false; if(!tag.equals("")){ tagUrlHashes=switchboard.bookmarksDB.getTag(tag).getUrlHashes(); - it=tagUrlHashes.iterator(); - viewTag=true; + if(tagUrlHashes != null){ + it=tagUrlHashes.iterator(); + viewTag=true; + }else{ //tag does not exist + //TODO: Errorpage? + it=switchboard.bookmarksDB.bookmarkIterator(true); + } }else{ it=switchboard.bookmarksDB.bookmarkIterator(true); } @@ -129,6 +138,7 @@ public class Bookmarks_p { prop.put("bookmarks_"+count+"_link", bookmark.getUrl()); prop.put("bookmarks_"+count+"_title", bookmark.getTitle()); prop.put("bookmarks_"+count+"_tags", bookmark.getTags()); + prop.put("bookmarks_"+count+"_hash", bookmark.getUrlHash()); count++; } } diff --git a/source/de/anomic/data/bookmarksDB.java b/source/de/anomic/data/bookmarksDB.java index 8e958d500..35a32a65f 100644 --- a/source/de/anomic/data/bookmarksDB.java +++ b/source/de/anomic/data/bookmarksDB.java @@ -162,6 +162,15 @@ public class bookmarksDB { } } public void removeBookmark(String urlHash){ + Bookmark bookmark = getBookmark(urlHash); + if(bookmark == null) return; //does not exist + String[] tags = bookmark.getTags().split(","); + bookmarksDB.Tag tag; + for(int i=0;i