diff --git a/htroot/Bookmarks_p.html b/htroot/Bookmarks_p.html
index 8b89cd03e..8c8d91fc5 100644
--- a/htroot/Bookmarks_p.html
+++ b/htroot/Bookmarks_p.html
@@ -49,7 +49,7 @@ Tagged with #[tags]#.
All
#{taglist}#
-#[name]#
+#[name]#
#{/taglist}#
diff --git a/htroot/Bookmarks_p.java b/htroot/Bookmarks_p.java
index d5484b1c5..64f36b56e 100644
--- a/htroot/Bookmarks_p.java
+++ b/htroot/Bookmarks_p.java
@@ -49,6 +49,7 @@ import java.util.Iterator;
import java.util.Vector;
import de.anomic.data.bookmarksDB;
+import de.anomic.data.bookmarksDB.Tag;
import de.anomic.http.httpHeader;
import de.anomic.plasma.plasmaSwitchboard;
import de.anomic.server.serverObjects;
@@ -59,7 +60,7 @@ public class Bookmarks_p {
serverObjects prop = new serverObjects();
plasmaSwitchboard switchboard = (plasmaSwitchboard) env;
int MAX_COUNT=10; //TODO: Changeable per Interface
- String tag="";
+ String tagName="";
int start=0;
//defaultvalues
@@ -114,7 +115,7 @@ public class Bookmarks_p {
switchboard.bookmarksDB.removeBookmark(urlHash);
}
if(post.containsKey("tag")){
- tag=(String) post.get("tag");
+ tagName=(String) post.get("tag");
}
if(post.containsKey("start")){
start=Integer.parseInt((String) post.get("start"));
@@ -122,14 +123,17 @@ public class Bookmarks_p {
}
Iterator it=switchboard.bookmarksDB.tagIterator(true);
int count=0;
+ bookmarksDB.Tag tag;
while(it.hasNext()){
- prop.put("taglist_"+count+"_name", ((bookmarksDB.Tag)it.next()).getTagName());
+ tag=(Tag) it.next();
+ prop.put("taglist_"+count+"_name", tag.getFriendlyName());
+ prop.put("taglist_"+count+"_tag", tag.getTagName());
count++;
}
prop.put("taglist", count);
count=0;
- if(!tag.equals("")){
- it=switchboard.bookmarksDB.getBookmarksIterator(tag);
+ if(!tagName.equals("")){
+ it=switchboard.bookmarksDB.getBookmarksIterator(tagName);
}else{
it=switchboard.bookmarksDB.getBookmarksIterator();
}
@@ -155,7 +159,7 @@ public class Bookmarks_p {
if(it.hasNext()){
prop.put("next-page", 1);
prop.put("next-page_start", start+10);
- prop.put("next-page_tag", tag);
+ prop.put("next-page_tag", tagName);
}
prop.put("bookmarks", count);
return prop;
diff --git a/source/de/anomic/data/bookmarksDB.java b/source/de/anomic/data/bookmarksDB.java
index 15c44b39a..179bcaeaa 100644
--- a/source/de/anomic/data/bookmarksDB.java
+++ b/source/de/anomic/data/bookmarksDB.java
@@ -192,7 +192,7 @@ public class bookmarksDB {
public Tag getTag(String tagName){
Map map;
try {
- map = tagsTable.get(tagName);
+ map = tagsTable.get(tagName.toLowerCase());
if(map==null) return null;
return new Tag(tagName, map);
} catch (IOException e) {
@@ -268,9 +268,13 @@ public class bookmarksDB {
}
return set.iterator();
}
- public Iterator getBookmarksIterator(String tag){
+ public Iterator getBookmarksIterator(String tagName){
TreeSet set=new TreeSet(new bookmarkComparator());
- Vector hashes=getTag(tag).getUrlHashes();
+ Tag tag=getTag(tagName);
+ Vector hashes=new Vector();
+ if(tag != null){
+ hashes=getTag(tagName).getUrlHashes();
+ }
set.addAll(hashes);
return set.iterator();
}
@@ -317,25 +321,41 @@ public class bookmarksDB {
*/
public class Tag{
public static final String URL_HASHES="urlHashes";
+ public static final String TAG_FRIENDLY_NAME="friendlyName";
private String tagName;
private Map mem;
public Tag(String name, Map map){
- tagName=name.toLowerCase();
+ tagName=name.toLowerCase();
mem=map;
+ if(!name.equals(tagName)){
+ mem.put(TAG_FRIENDLY_NAME, name);
+ }
}
public Tag(String name, Vector entries){
tagName=name.toLowerCase();
mem=new HashMap();
mem.put(URL_HASHES, listManager.vector2string(entries));
+ if(!name.equals(tagName)){
+ mem.put(TAG_FRIENDLY_NAME, name);
+ }
}
public Tag(String name){
tagName=name.toLowerCase();
mem=new HashMap();
mem.put(URL_HASHES, "");
+ if(!name.equals(tagName)){
+ mem.put(TAG_FRIENDLY_NAME, name);
+ }
}
public String getTagName(){
return tagName;
}
+ public String getFriendlyName(){
+ if(this.mem.containsKey(TAG_FRIENDLY_NAME)){
+ return (String) this.mem.get(TAG_FRIENDLY_NAME);
+ }
+ return this.tagName;
+ }
public Vector getUrlHashes(){
return listManager.string2vector((String)this.mem.get(URL_HASHES));
}
@@ -379,7 +399,7 @@ public class bookmarksDB {
return listManager.string2vector(((String)this.mem.get(URL_HASHES))).size();
}
}
- class bookmarksDate{
+ public class bookmarksDate{
public static final String URL_HASHES="urlHashes";
private Map mem;
String date;
|