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

Antwort per Email an