From 1fce0ea263290d788694009327cdb632743dd708 Mon Sep 17 00:00:00 2001 From: allo Date: Sun, 5 Feb 2006 14:54:07 +0000 Subject: [PATCH] xml api for deleting bookmarks. git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@1546 6c8d7289-2bf4-0310-a012-ef5d649a1542 --- htroot/xml/bookmarks/posts/delete_p.java | 74 ++++++++++++++++++++++++ htroot/xml/bookmarks/posts/delete_p.xml | 1 + source/de/anomic/data/bookmarksDB.java | 9 ++- 3 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 htroot/xml/bookmarks/posts/delete_p.java create mode 100644 htroot/xml/bookmarks/posts/delete_p.xml diff --git a/htroot/xml/bookmarks/posts/delete_p.java b/htroot/xml/bookmarks/posts/delete_p.java new file mode 100644 index 000000000..99945a1e9 --- /dev/null +++ b/htroot/xml/bookmarks/posts/delete_p.java @@ -0,0 +1,74 @@ +// /xml/bookmarks/posts/delete_p.java +// ------------------------------- +// part of the AnomicHTTPD caching proxy +// (C) by Michael Peter Christen; mc@anomic.de +// first published on http://www.anomic.de +// Frankfurt, Germany, 2004, 2005 +// +// last major change: 05.02.2006 +// this file is contributed by Alexander Schier +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// Using this software in any meaning (reading, learning, copying, compiling, +// running) means that you agree that the Author(s) is (are) not responsible +// for cost, loss of data or any harm that may be caused directly or indirectly +// by usage of this softare or this documentation. The usage of this software +// is on your own risk. The installation and usage (starting/running) of this +// software may allow other people or application to access your computer and +// any attached devices and is highly dependent on the configuration of the +// software which must be done by the user of the software; the author(s) is +// (are) also not responsible for proper configuration and usage of the +// software, even if provoked by documentation provided together with +// the software. +// +// Any changes to this file according to the GPL as documented in the file +// gpl.txt aside this file in the shipment you received can be done to the +// lines that follows this copyright notice here, but changes must not be +// done inside the copyright notive above. A re-distribution must contain +// the intact and unchanged copyright notice. +// Contributions and changes to the program code must be marked as such. + +package xml.bookmarks.posts; +import de.anomic.http.httpHeader; +import de.anomic.plasma.plasmaSwitchboard; +import de.anomic.plasma.plasmaURL; +import de.anomic.server.serverObjects; +import de.anomic.server.serverSwitch; + +public class delete_p { + public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) { + // return variable that accumulates replacements + plasmaSwitchboard switchboard = (plasmaSwitchboard) env; + serverObjects prop = new serverObjects(); + if(post!= null){ + if( post.containsKey("url") && switchboard.bookmarksDB.removeBookmark(plasmaURL.urlHash(post.get("url", "nourl"))) ){ + prop.put("result", 1); + }else if(post.containsKey("urlhash") && switchboard.bookmarksDB.removeBookmark(post.get("urlhash", "nohash"))){ + prop.put("result", 1); + }else{ + prop.put("result",0); + } + }else{ + prop.put("result",0); + } + // return rewrite properties + return prop; + } + +} + + + diff --git a/htroot/xml/bookmarks/posts/delete_p.xml b/htroot/xml/bookmarks/posts/delete_p.xml new file mode 100644 index 000000000..a94a000dc --- /dev/null +++ b/htroot/xml/bookmarks/posts/delete_p.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/source/de/anomic/data/bookmarksDB.java b/source/de/anomic/data/bookmarksDB.java index 62c930586..6f2377ccf 100644 --- a/source/de/anomic/data/bookmarksDB.java +++ b/source/de/anomic/data/bookmarksDB.java @@ -278,9 +278,9 @@ public class bookmarksDB { set.addAll(hashes); return set.iterator(); } - public void removeBookmark(String urlHash){ + public boolean removeBookmark(String urlHash){ Bookmark bookmark = getBookmark(urlHash); - if(bookmark == null) return; //does not exist + if(bookmark == null) return false; //does not exist String[] tags = bookmark.getTags().split(","); bookmarksDB.Tag tag=null; for(int i=0;i