diff options
| author | piep <sebastian@lightweb-media.de> | 2025-06-17 09:10:59 +0200 |
|---|---|---|
| committer | piep <sebastian@lightweb-media.de> | 2025-06-17 09:10:59 +0200 |
| commit | a473f44788ee1297864032057db6c01d6ebebefc (patch) | |
| tree | 3e8057a54b5a46a8c95e84c6b02c8e90c9995c68 | |
| parent | 8885fa15229aaccfe099cf3d1dcc8f204c5fee9a (diff) | |
init
| -rw-r--r-- | htroot/api/bookmarks/get_bookmarks.json | 14 | ||||
| -rw-r--r-- | source/net/yacy/data/BookmarksDB.java | 27 | ||||
| -rw-r--r-- | source/net/yacy/htroot/api/bookmarks/get_bookmarks.java | 5 |
3 files changed, 30 insertions, 16 deletions
diff --git a/htroot/api/bookmarks/get_bookmarks.json b/htroot/api/bookmarks/get_bookmarks.json index b535f1723..c80247536 100644 --- a/htroot/api/bookmarks/get_bookmarks.json +++ b/htroot/api/bookmarks/get_bookmarks.json @@ -1,18 +1,18 @@ #(display)# { -page: #[page]#, -total: #[total]#, -posts: [ +"page": #[page]#, +"total": #[total]#, +"posts": [ #{bookmarks}# -{bookmark:["#[hash]#",#(public)#"public"::"private"#(/public)#,"#[title]#","#[link]#","#[tags]#","#[folders]#","#[date]#"]}#[comma]# +"#[hash]#",#(public)#"public"::"private"#(/public)#,"#[title]#","#[link]#","#[tags]#","#[folders]#","#[date]#"]#[comma]# #{/bookmarks}# ] } :: { -page: #[page]#, -total: #[total]#, -rows: [ +"page": #[page]#, +"total": #[total]#, +"rows": [ #{bookmarks}# {id:"#[id]#",cell:[ "#[hash]#", diff --git a/source/net/yacy/data/BookmarksDB.java b/source/net/yacy/data/BookmarksDB.java index fd5854925..dcd949a3a 100644 --- a/source/net/yacy/data/BookmarksDB.java +++ b/source/net/yacy/data/BookmarksDB.java @@ -527,18 +527,29 @@ public class BookmarksDB { return this.tagNames; } - public String getTagsString() { - final String s[] = CommonPattern.COMMA.split(ListManager.collection2string(getTags())); - final StringBuilder stringBuilder = new StringBuilder(); - for (final String element : s){ - if(!element.startsWith("/")){ - stringBuilder.append(element); - stringBuilder.append(","); + public String getTagsString() { + Map<String, String> tagsMap = getTags(); // Assuming getTags returns a HashMap of Strings + StringBuilder stringBuilder = new StringBuilder(); + + int tagCount = tagsMap.size(); + int currentTag = 0; + + for (Map.Entry<String, String> entry : tagsMap.entrySet()) { + String element = entry.getValue(); + + if (!element.startsWith("/")) { + stringBuilder.append(element); // Append the element + currentTag++; + + if (currentTag < tagCount) { + stringBuilder.append(","); // Add comma if it's not the last element } } - return stringBuilder.toString(); } + return stringBuilder.toString(); + } + public String getFoldersString(){ final String s[] = CommonPattern.COMMA.split(ListManager.collection2string(getTags())); final StringBuilder stringBuilder = new StringBuilder(); diff --git a/source/net/yacy/htroot/api/bookmarks/get_bookmarks.java b/source/net/yacy/htroot/api/bookmarks/get_bookmarks.java index fc52cbc96..1c66ef89a 100644 --- a/source/net/yacy/htroot/api/bookmarks/get_bookmarks.java +++ b/source/net/yacy/htroot/api/bookmarks/get_bookmarks.java @@ -186,12 +186,15 @@ public class get_bookmarks { prop.put("display_bookmarks_"+count+"_tags", bookmark.getTagsString()); prop.put("display_bookmarks_"+count+"_folders", (bookmark.getFoldersString())); + + prop.put("display_bookmarks_"+count+"_tagsjson", bookmark.getTagsString()); + count++; } } // eliminate the trailing comma for Json output - prop.put("display_bookmarks_" + (itemsPerPage - 1) + "_comma", ""); + prop.put("display_bookmarks_" + (count - 1) + "_comma", ""); prop.put("display_bookmarks", count); while(it.hasNext()){ |
