bookmarksDB:

lowercase Tags; if you create a Tag with Uppercase chars, friendlyName will be set.
So The Tag is displayed Uppercase, but stored Lowercase.

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@1328 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
allo 19 years ago
parent 060e5a0df0
commit d5aaaf500f

@ -49,7 +49,7 @@ Tagged with <span class="bookmarkTags">#[tags]#</span>. <br />
<td valign="top"> <td valign="top">
<a href="Bookmarks_p.html">All</a><br /> <a href="Bookmarks_p.html">All</a><br />
#{taglist}# #{taglist}#
<a href="Bookmarks_p.html?tag=#[name]#">#[name]#</a><br /> <a href="Bookmarks_p.html?tag=#[tag]#">#[name]#</a><br />
#{/taglist}# #{/taglist}#
&nbsp; &nbsp;

@ -49,6 +49,7 @@ import java.util.Iterator;
import java.util.Vector; import java.util.Vector;
import de.anomic.data.bookmarksDB; import de.anomic.data.bookmarksDB;
import de.anomic.data.bookmarksDB.Tag;
import de.anomic.http.httpHeader; import de.anomic.http.httpHeader;
import de.anomic.plasma.plasmaSwitchboard; import de.anomic.plasma.plasmaSwitchboard;
import de.anomic.server.serverObjects; import de.anomic.server.serverObjects;
@ -59,7 +60,7 @@ public class Bookmarks_p {
serverObjects prop = new serverObjects(); serverObjects prop = new serverObjects();
plasmaSwitchboard switchboard = (plasmaSwitchboard) env; plasmaSwitchboard switchboard = (plasmaSwitchboard) env;
int MAX_COUNT=10; //TODO: Changeable per Interface int MAX_COUNT=10; //TODO: Changeable per Interface
String tag=""; String tagName="";
int start=0; int start=0;
//defaultvalues //defaultvalues
@ -114,7 +115,7 @@ public class Bookmarks_p {
switchboard.bookmarksDB.removeBookmark(urlHash); switchboard.bookmarksDB.removeBookmark(urlHash);
} }
if(post.containsKey("tag")){ if(post.containsKey("tag")){
tag=(String) post.get("tag"); tagName=(String) post.get("tag");
} }
if(post.containsKey("start")){ if(post.containsKey("start")){
start=Integer.parseInt((String) post.get("start")); start=Integer.parseInt((String) post.get("start"));
@ -122,14 +123,17 @@ public class Bookmarks_p {
} }
Iterator it=switchboard.bookmarksDB.tagIterator(true); Iterator it=switchboard.bookmarksDB.tagIterator(true);
int count=0; int count=0;
bookmarksDB.Tag tag;
while(it.hasNext()){ 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++; count++;
} }
prop.put("taglist", count); prop.put("taglist", count);
count=0; count=0;
if(!tag.equals("")){ if(!tagName.equals("")){
it=switchboard.bookmarksDB.getBookmarksIterator(tag); it=switchboard.bookmarksDB.getBookmarksIterator(tagName);
}else{ }else{
it=switchboard.bookmarksDB.getBookmarksIterator(); it=switchboard.bookmarksDB.getBookmarksIterator();
} }
@ -155,7 +159,7 @@ public class Bookmarks_p {
if(it.hasNext()){ if(it.hasNext()){
prop.put("next-page", 1); prop.put("next-page", 1);
prop.put("next-page_start", start+10); prop.put("next-page_start", start+10);
prop.put("next-page_tag", tag); prop.put("next-page_tag", tagName);
} }
prop.put("bookmarks", count); prop.put("bookmarks", count);
return prop; return prop;

@ -192,7 +192,7 @@ public class bookmarksDB {
public Tag getTag(String tagName){ public Tag getTag(String tagName){
Map map; Map map;
try { try {
map = tagsTable.get(tagName); map = tagsTable.get(tagName.toLowerCase());
if(map==null) return null; if(map==null) return null;
return new Tag(tagName, map); return new Tag(tagName, map);
} catch (IOException e) { } catch (IOException e) {
@ -268,9 +268,13 @@ public class bookmarksDB {
} }
return set.iterator(); return set.iterator();
} }
public Iterator getBookmarksIterator(String tag){ public Iterator getBookmarksIterator(String tagName){
TreeSet set=new TreeSet(new bookmarkComparator()); 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); set.addAll(hashes);
return set.iterator(); return set.iterator();
} }
@ -317,25 +321,41 @@ public class bookmarksDB {
*/ */
public class Tag{ public class Tag{
public static final String URL_HASHES="urlHashes"; public static final String URL_HASHES="urlHashes";
public static final String TAG_FRIENDLY_NAME="friendlyName";
private String tagName; private String tagName;
private Map mem; private Map mem;
public Tag(String name, Map map){ public Tag(String name, Map map){
tagName=name.toLowerCase(); tagName=name.toLowerCase();
mem=map; mem=map;
if(!name.equals(tagName)){
mem.put(TAG_FRIENDLY_NAME, name);
}
} }
public Tag(String name, Vector entries){ public Tag(String name, Vector entries){
tagName=name.toLowerCase(); tagName=name.toLowerCase();
mem=new HashMap(); mem=new HashMap();
mem.put(URL_HASHES, listManager.vector2string(entries)); mem.put(URL_HASHES, listManager.vector2string(entries));
if(!name.equals(tagName)){
mem.put(TAG_FRIENDLY_NAME, name);
}
} }
public Tag(String name){ public Tag(String name){
tagName=name.toLowerCase(); tagName=name.toLowerCase();
mem=new HashMap(); mem=new HashMap();
mem.put(URL_HASHES, ""); mem.put(URL_HASHES, "");
if(!name.equals(tagName)){
mem.put(TAG_FRIENDLY_NAME, name);
}
} }
public String getTagName(){ public String getTagName(){
return tagName; 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(){ public Vector getUrlHashes(){
return listManager.string2vector((String)this.mem.get(URL_HASHES)); 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(); return listManager.string2vector(((String)this.mem.get(URL_HASHES))).size();
} }
} }
class bookmarksDate{ public class bookmarksDate{
public static final String URL_HASHES="urlHashes"; public static final String URL_HASHES="urlHashes";
private Map mem; private Map mem;
String date; String date;

Loading…
Cancel
Save