Author: apfelmaennchen Date: 2008-01-24 21:14:31 +0100 (Thu, 24 Jan 2008) New Revision: 4385
Modified: trunk/htroot/Bookmarks.java Log: adjusted code for getFolderList() and cleanTagsString() added input for folders in add/edit bookmark Modified: trunk/htroot/Bookmarks.java =================================================================== --- trunk/htroot/Bookmarks.java 2008-01-24 20:13:08 UTC (rev 4384) +++ trunk/htroot/Bookmarks.java 2008-01-24 20:14:31 UTC (rev 4385) @@ -54,7 +54,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Set; -import java.util.TreeSet; import de.anomic.data.bookmarksDB; import de.anomic.data.listManager; import de.anomic.data.userDB; @@ -68,7 +67,6 @@ import de.anomic.server.serverDate; import de.anomic.server.serverObjects; import de.anomic.server.serverSwitch; -import de.anomic.server.logging.serverLog; import de.anomic.yacy.yacyCore; import de.anomic.yacy.yacyNewsPool; import de.anomic.yacy.yacyNewsRecord; @@ -85,6 +83,8 @@ final static int SORT_ALPHA = 1; final static int SORT_SIZE = 2; final static int SHOW_ALL = -1; + final static boolean TAGS = false; + final static boolean FOLDERS = true; public static serverObjects respond(httpHeader header, serverObjects post, serverSwitch env) { @@ -126,6 +126,7 @@ prop.put("mode_description", ""); prop.put("mode_url", ""); prop.put("mode_tags", ""); + prop.put("mode_path", ""); prop.put("mode_public", "1"); //1=is public prop.put("mode_feed", "0"); //no newsfeed @@ -140,7 +141,7 @@ prop.put("mode", "2"); }else if(mode.equals("importxml")){ prop.put("mode", "3"); - }else if(mode.equals("importbookmarks")){ + }else if(mode.equals("exportXBEL")){ prop.put("mode", "4"); } }else if(post.containsKey("add")){ //add an Entry @@ -148,33 +149,12 @@ String title=(String) post.get("title"); String description=(String) post.get("description"); String tagsString = (String)post.get("tags"); + String pathString = (String)post.get("path"); + tagsString=tagsString+","+pathString; if(tagsString.equals("")){ tagsString="unsorted"; //default tag } - - // get rid of heading, trailing and double commas since they are useless - while (tagsString.startsWith(",")) { - tagsString = tagsString.substring(1); - } - while (tagsString.endsWith(",")) { - tagsString = tagsString.substring(0,tagsString.length() -1); - } - while(tagsString.contains(",,")){ - tagsString = tagsString.replaceAll(",,", ","); - } - // get rid of double and trailing slashes - while(tagsString.endsWith("/")){ - tagsString = tagsString.substring(0, tagsString.length() -1); - } - while(tagsString.contains("/,")){ - tagsString = tagsString.replaceAll("/,", ","); - } - while(tagsString.contains("//")){ - tagsString = tagsString.replaceAll("//", "/"); - } - - Set tags=listManager.string2set(tagsString.replaceAll(",\\s+", ",")); // space characters following a comma are removed - + Set tags=listManager.string2set(bookmarksDB.cleanTagsString(tagsString)); bookmarksDB.Bookmark bookmark = switchboard.bookmarksDB.createBookmark(url, username); if(bookmark != null){ bookmark.setProperty(bookmarksDB.Bookmark.BOOKMARK_TITLE, title); @@ -207,6 +187,7 @@ prop.putHTML("mode_description", (String) post.get("description")); prop.put("mode_url", (String) post.get("url")); prop.putHTML("mode_tags", (String) post.get("tags")); + prop.putHTML("mode_path", (String) post.get("path")); prop.put("mode_public", "0"); prop.put("mode_feed", "0"); } else { @@ -224,6 +205,7 @@ prop.putHTML("mode_description", (document == null) ? comp.title(): document.dc_title()); prop.putHTML("mode_author", comp.author()); prop.putHTML("mode_tags", (document == null) ? comp.tags() : document.dc_subject(',')); + prop.putHTML("mode_path",""); prop.put("mode_public", "0"); prop.put("mode_feed", "0"); //TODO: check if it IS a feed } @@ -235,6 +217,7 @@ prop.putHTML("mode_description", bookmark.getDescription()); prop.put("mode_url", bookmark.getUrl()); prop.putHTML("mode_tags", bookmark.getTagsString()); + prop.putHTML("mode_path",bookmark.getFoldersString()); if (bookmark.getPublic()) { prop.put("mode_public", "1"); } else { @@ -371,37 +354,9 @@ //----------------------- // create folder list //----------------------- - - Set<String> folders = new TreeSet<String>(); - String path = ""; - it=switchboard.bookmarksDB.getTagIterator(isAdmin); - while(it.hasNext()){ - tag=(Tag) it.next(); - if (tag.getFriendlyName().startsWith("/")) { - path = tag.getFriendlyName(); - - // eliminate trailing and double slashes - while(path.endsWith("/")){ - path = path.substring(0, path.length() -1); - } - while(path.contains("//")){ - path = path.replaceAll("//", "/"); - } - - while(path.length() > 0){ - folders.add(path); - path = path.replaceAll("(/.[^/]*$)", ""); - serverLog.logInfo("BOOKMARKS", "Path: "+path+" added to folder list.\n"); - } - } - } - - folders.add("\uffff"); - it = folders.iterator(); - count = 0; - count = recurseFolders(it,"/",0,true,""); + count = recurseFolders(switchboard.bookmarksDB.getFolderList(isAdmin),"/",0,true,""); prop.put("folderlist", count); @@ -477,7 +432,7 @@ count = recurseFolders(it, root, count, false, fn); } return count; - } + } private static void publishNews(String url, String title, String description, String tagsString) { // create a news message _______________________________________________ YaCy-svn mailing list YaCy-svn@lists.berlios.de https://lists.berlios.de/mailman/listinfo/yacy-svn