Author: fred
Date: 2007-04-23 23:12:05 +0000 (Mon, 23 Apr 2007)
New Revision: 12911
Modified:
trunk/freenet/src/freenet/clients/http/bookmark/Bookmark.java
trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategories.java
trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java
trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java
trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItems.java
trunk/freenet/src/freenet/clients/http/bookmark/BookmarkManager.java
Log:
minor changes
Modified: trunk/freenet/src/freenet/clients/http/bookmark/Bookmark.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/Bookmark.java
2007-04-23 22:49:37 UTC (rev 12910)
+++ trunk/freenet/src/freenet/clients/http/bookmark/Bookmark.java
2007-04-23 23:12:05 UTC (rev 12911)
@@ -1,35 +1,27 @@
package freenet.clients.http.bookmark;
-public abstract class Bookmark
-{
- protected boolean privateBookmark;
- protected String name;
- protected String desc;
-
- public boolean isPrivate()
- {
- return privateBookmark;
- }
+public abstract class Bookmark {
+ protected boolean privateBookmark;
+ protected String name;
+ protected String desc;
- public abstract void setPrivate(boolean bool);
-
- public String getName()
- {
- return name;
- }
+ public boolean isPrivate () {
+ return privateBookmark;
+ } public abstract void setPrivate (boolean bool);
- protected void setName(String s)
- {
- name = s;
- }
+ public String getName () {
+ return name;
+ }
- public String getDesc()
- {
- return desc;
- }
+ protected void setName (String s) {
+ name = s;
+ }
- public void setDesc(String s)
- {
- desc = s;
- }
+ public String getDesc () {
+ return desc;
+ }
+
+ public void setDesc (String s) {
+ desc = s;
+ }
}
Modified:
trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategories.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategories.java
2007-04-23 22:49:37 UTC (rev 12910)
+++ trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategories.java
2007-04-23 23:12:05 UTC (rev 12911)
@@ -5,39 +5,31 @@
import java.util.Iterator;
-public final class BookmarkCategories implements Iterable
+public final class BookmarkCategories //implements Iterator
{
- Vector categories;
+ Vector categories;
- public BookmarkCategories()
- {
- categories = new Vector();
- }
+ public BookmarkCategories () {
+ categories = new Vector ();
+ } public BookmarkCategory get (int i) {
+ return (BookmarkCategory) categories.get (i);
+ }
- public BookmarkCategory get(int i)
- {
- return (BookmarkCategory) categories.get(i);
- }
+ public void add (BookmarkCategory bc) {
+ categories.add (bc);
+ }
- public void add(BookmarkCategory bc)
- {
- categories.add(bc);
- }
+ protected void extend (BookmarkCategories bc) {
+ for (int i = 0; i < bc.size (); i++)
+ add (bc.get (i));
+ }
- protected void extend(BookmarkCategories bc)
- {
- for(int i = 0; i < bc.size(); i++)
- add(bc.get(i));
- }
-
- public int size()
- {
- return categories.size();
- }
-
- public Iterator iterator()
- {
- return categories.iterator();
- }
+ public int size () {
+ return categories.size ();
+ }
+
+ public Iterator iterator () {
+ return categories.iterator ();
+ }
}
Modified: trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java
2007-04-23 22:49:37 UTC (rev 12910)
+++ trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java
2007-04-23 23:12:05 UTC (rev 12911)
@@ -6,150 +6,131 @@
import freenet.support.StringArray;
-public class BookmarkCategory extends Bookmark implements Iterable
+public class BookmarkCategory extends Bookmark // implements Iterator
{
- private final Vector bookmarks;
-
- public BookmarkCategory(String name)
- {
- bookmarks = new Vector();
- setName(name);
- }
-
- public BookmarkCategory(String name, String desc)
- {
- bookmarks = new Vector();
- setName(name);
- setDesc(desc);
- }
-
- protected Bookmark addBookmark(Bookmark b)
- {
- bookmarks.add(b);
- return b;
- }
+ private final Vector bookmarks;
- protected void removeBookmark(Bookmark b)
- {
- bookmarks.remove(b);
- }
+ public BookmarkCategory (String name) {
+ bookmarks = new Vector ();
+ setName (name);
+ } public BookmarkCategory (String name, String desc) {
+ bookmarks = new Vector ();
+ setName (name);
+ setDesc (desc);
+ }
- public Bookmark get(int i)
- {
- return (Bookmark) bookmarks.get(i);
- }
-
- protected void moveBookmarkUp(Bookmark b)
- {
- int index = bookmarks.indexOf(b);
- if(index == -1)
- return;
-
- Bookmark bk = get(index);
- bookmarks.remove(index);
- bookmarks.add((--index < 0) ? 0 : index , bk);
- }
-
- protected void moveBookmarkDown(Bookmark b)
- {
- int index = bookmarks.indexOf(b);
- if(index == -1)
- return;
-
- Bookmark bk = get(index);
- bookmarks.remove(index);
- bookmarks.add((++index > size()) ? size() : index, bk);
- }
-
- public int size()
- {
- return bookmarks.size();
- }
-
- public BookmarkItems getItems()
- {
- BookmarkItems items = new BookmarkItems();
- for(int i = 0; i < size(); i++) {
- if(get(i) instanceof BookmarkItem)
- items.add((BookmarkItem) get(i));
- }
+ protected Bookmark addBookmark (Bookmark b) {
+ bookmarks.add (b);
+ return b;
+ }
- return items;
- }
-
- public BookmarkItems getAllItems()
- {
- BookmarkItems items = getItems();
- BookmarkCategories subCategories = getSubCategories();
-
- for(int i = 0; i < subCategories.size(); i++) {
- items.extend(subCategories.get(i).getAllItems());
- }
- return items;
- }
+ protected void removeBookmark (Bookmark b) {
+ bookmarks.remove (b);
+ }
-
- public BookmarkCategories getSubCategories()
- {
- BookmarkCategories categories = new BookmarkCategories();
- for(int i = 0; i < size(); i++) {
- if(get(i) instanceof BookmarkCategory)
- categories.add((BookmarkCategory) get(i));
- }
-
- return categories;
- }
-
- public BookmarkCategories getAllSubCategories()
- {
- BookmarkCategories categories = getSubCategories();
- BookmarkCategories subCategories = getSubCategories();
-
- for(int i = 0; i < subCategories.size(); i++) {
-
categories.extend(subCategories.get(i).getAllSubCategories());
- }
+ public Bookmark get (int i) {
+ return (Bookmark) bookmarks.get (i);
+ }
- return categories;
- }
-
+ protected void moveBookmarkUp (Bookmark b) {
+ int index = bookmarks.indexOf (b);
+ if (index == -1)
+ return;
- public String[] toStrings()
- {
- return StringArray.toArray(toStrings("").toArray());
- }
-
- // Iternal use only
- private Vector toStrings(String prefix)
- {
- Vector strings = new Vector();
- BookmarkItems items = getItems();
- BookmarkCategories subCategories = getSubCategories();
- prefix += this.name + "/";
-
- for(int i = 0; i < items.size(); i++)
- strings.add(prefix + items.get(i).toString());
-
- for(int i = 0; i < subCategories.size(); i++)
- strings.addAll(subCategories.get(i).toStrings(prefix));
+ Bookmark bk = get (index);
+ bookmarks.remove (index);
+ bookmarks.add ((--index < 0) ? 0 : index, bk);
+ }
- return strings;
-
- }
-
- public void setPrivate(boolean bool)
- {
- privateBookmark = bool;
-
- BookmarkCategories subCategories = getSubCategories();
- for(int i = 0; i < size(); i++)
- subCategories.get(i).setPrivate(bool);
- }
-
- public Iterator iterator()
- {
- return bookmarks.iterator();
- }
-
-}
+ protected void moveBookmarkDown (Bookmark b) {
+ int index = bookmarks.indexOf (b);
+ if (index == -1)
+ return;
+ Bookmark bk = get (index);
+ bookmarks.remove (index);
+ bookmarks.add ((++index > size ())? size () : index, bk);
+ }
+
+ public int size () {
+ return bookmarks.size ();
+ }
+
+ public BookmarkItems getItems () {
+ BookmarkItems items = new BookmarkItems ();
+ for (int i = 0; i < size (); i++) {
+ if (get (i) instanceof BookmarkItem)
+ items.add ((BookmarkItem) get (i));
+ }
+
+ return items;
+ }
+
+ public BookmarkItems getAllItems () {
+ BookmarkItems items = getItems ();
+ BookmarkCategories subCategories = getSubCategories ();
+
+ for (int i = 0; i < subCategories.size (); i++) {
+ items.extend (subCategories.get (i).getAllItems ());
+ }
+ return items;
+ }
+
+
+ public BookmarkCategories getSubCategories () {
+ BookmarkCategories categories = new BookmarkCategories ();
+ for (int i = 0; i < size (); i++) {
+ if (get (i) instanceof BookmarkCategory)
+ categories.add ((BookmarkCategory) get (i));
+ }
+
+ return categories;
+ }
+
+ public BookmarkCategories getAllSubCategories () {
+ BookmarkCategories categories = getSubCategories ();
+ BookmarkCategories subCategories = getSubCategories ();
+
+ for (int i = 0; i < subCategories.size (); i++) {
+ categories.extend (subCategories.get (i).getAllSubCategories ());
+ }
+
+ return categories;
+ }
+
+
+ public String[] toStrings () {
+ return StringArray.toArray (toStrings ("").toArray ());
+ }
+
+ // Iternal use only
+ private Vector toStrings (String prefix) {
+ Vector strings = new Vector ();
+ BookmarkItems items = getItems ();
+ BookmarkCategories subCategories = getSubCategories ();
+ prefix += this.name + "/";
+
+ for (int i = 0; i < items.size (); i++)
+ strings.add (prefix + items.get (i).toString ());
+
+ for (int i = 0; i < subCategories.size (); i++)
+ strings.addAll (subCategories.get (i).toStrings (prefix));
+
+ return strings;
+
+ }
+
+ public void setPrivate (boolean bool) {
+ privateBookmark = bool;
+
+ BookmarkCategories subCategories = getSubCategories ();
+ for (int i = 0; i < size (); i++)
+ subCategories.get (i).setPrivate (bool);
+ }
+
+ public Iterator iterator () {
+ return bookmarks.iterator ();
+ }
+
+}
Modified: trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java
2007-04-23 22:49:37 UTC (rev 12910)
+++ trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java
2007-04-23 23:12:05 UTC (rev 12911)
@@ -12,132 +12,131 @@
import java.net.MalformedURLException;
-public class BookmarkItem extends Bookmark{
-
- private FreenetURI key;
- private boolean updated;
- private final BookmarkUpdatedUserAlert alert;
- private UserAlertManager alerts;
-
-
- public BookmarkItem(FreenetURI k, String n, UserAlertManager uam)
throws MalformedURLException {
- this.key = k;
- this.name = n;
- this.alerts = uam;
- alert = new BookmarkUpdatedUserAlert();
- }
+public class BookmarkItem extends Bookmark {
- public BookmarkItem(FreenetURI k, String n, String d, UserAlertManager
uam) throws MalformedURLException {
-
- this.key = k;
- this.name = n;
- this.desc = d;
- this.alerts = uam;
- alert = new BookmarkUpdatedUserAlert();
- }
-
- private class BookmarkUpdatedUserAlert implements UserAlert {
+ private FreenetURI key;
+ private boolean updated;
+ private final BookmarkUpdatedUserAlert alert;
+ private UserAlertManager alerts;
- public boolean userCanDismiss() {
- return true;
- }
- public String getTitle() {
- return "Bookmark updated: "+ name;
- }
+ public BookmarkItem (FreenetURI k, String n,
+ UserAlertManager uam) throws MalformedURLException {
+ this.key = k;
+ this.name = n;
+ this.alerts = uam;
+ alert = new BookmarkUpdatedUserAlert ();
+ } public BookmarkItem (FreenetURI k, String n, String d,
+ UserAlertManager uam) throws MalformedURLException {
- public String getText() {
- return "The bookmarked site "+ name +" has been updated
to edition "+key.getSuggestedEdition();
- }
+ this.key = k;
+ this.name = n;
+ this.desc = d;
+ this.alerts = uam;
+ alert = new BookmarkUpdatedUserAlert ();
+ } private class BookmarkUpdatedUserAlert implements UserAlert {
- public HTMLNode getHTMLText() {
- HTMLNode n = new HTMLNode("div");
- n.addChild("#", "The bookmarked site ");
- n.addChild("a", "href",
'/'+key.toString()).addChild("#", name);
- n.addChild("#", " has been updated to edition
"+key.getSuggestedEdition()+".");
- return n;
- }
+ public boolean userCanDismiss () {
+ return true;
+ } public String getTitle () {
+ return "Bookmark updated: " + name;
+ } public String getText () {
+ return "The bookmarked site " + name + " has been updated to edition " +
+ key.getSuggestedEdition ();
+ }
- public short getPriorityClass() {
- return UserAlert.MINOR;
- }
+ public HTMLNode getHTMLText () {
+ HTMLNode n = new HTMLNode ("div");
+ n.addChild ("#", "The bookmarked site ");
+ n.addChild ("a", "href", '/' + key.toString ()).addChild ("#", name);
+ n.addChild ("#",
+ " has been updated to edition " +
+ key.getSuggestedEdition () + ".");
+ return n;
+ }
- public boolean isValid() {
- synchronized(BookmarkItem.this) {
- return updated;
- }
- }
+ public short getPriorityClass () {
+ return UserAlert.MINOR;
+ }
- public void isValid(boolean validity) {
- if(validity) return;
- disableBookmark();
- }
+ public boolean isValid () {
+ synchronized (BookmarkItem.this) {
+ return updated;
+ }
+ }
- public String dismissButtonText() {
- return "Delete notification";
- }
+ public void isValid (boolean validity) {
+ if (validity)
+ return;
+ disableBookmark ();
+ }
- public boolean shouldUnregisterOnDismiss() {
- return true;
- }
+ public String dismissButtonText () {
+ return "Delete notification";
+ }
- public void onDismiss() {
- disableBookmark();
- }
-
- }
-
- private synchronized void disableBookmark() {
- updated = false;
- alerts.unregister(alert);
- }
-
- private synchronized void enableBookmark() {
- if(updated) return;
- updated = true;
- alerts.register(alert);
- }
-
- public String getKey() {
- return key.toString();
- }
-
- public synchronized FreenetURI getURI() {
- return key;
- }
-
- public synchronized void setKey(FreenetURI uri) {
- key = uri;
- }
+ public boolean shouldUnregisterOnDismiss () {
+ return true;
+ }
- public synchronized String getKeyType() {
- return key.getKeyType();
- }
+ public void onDismiss () {
+ disableBookmark ();
+ }
- public String getName() {
- if (name.equals("")) {
- return "Unnamed Bookmark";
- } else {
- return name;
- }
- }
-
- public void setPrivate(boolean bool)
- {
- privateBookmark = bool;
- }
-
- public String toString() {
- return this.name + "=" + this.key.toString();
- }
+ }
- public synchronized void setEdition(long ed, NodeClientCore node) {
- if(key.getSuggestedEdition() >= ed) return;
- key = key.setSuggestedEdition(ed);
- enableBookmark();
- }
+ private synchronized void disableBookmark () {
+ updated = false;
+ alerts.unregister (alert);
+ }
- public USK getUSK() throws MalformedURLException {
- return USK.create(key);
- }
-}
+ private synchronized void enableBookmark () {
+ if (updated)
+ return;
+ updated = true;
+ alerts.register (alert);
+ }
+
+ public String getKey () {
+ return key.toString ();
+ }
+
+ public synchronized FreenetURI getURI () {
+ return key;
+ }
+
+ public synchronized void setKey (FreenetURI uri) {
+ key = uri;
+ }
+
+ public synchronized String getKeyType () {
+ return key.getKeyType ();
+ }
+
+ public String getName () {
+ if (name.equals ("")) {
+ return "Unnamed Bookmark";
+ }
+ else {
+ return name;
+ }
+ }
+
+ public void setPrivate (boolean bool) {
+ privateBookmark = bool;
+ }
+
+ public String toString () {
+ return this.name + "=" + this.key.toString ();
+ }
+
+ public synchronized void setEdition (long ed, NodeClientCore node) {
+ if (key.getSuggestedEdition () >= ed)
+ return;
+ key = key.setSuggestedEdition (ed);
+ enableBookmark ();
+ }
+
+ public USK getUSK () throws MalformedURLException {
+ return USK.create (key);
+}}
Modified: trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItems.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItems.java
2007-04-23 22:49:37 UTC (rev 12910)
+++ trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItems.java
2007-04-23 23:12:05 UTC (rev 12911)
@@ -4,40 +4,32 @@
import java.util.Iterator;
-public class BookmarkItems implements Iterable
+public class BookmarkItems //implements Iterator
{
- Vector items;
-
+ Vector items;
- public BookmarkItems()
- {
- items = new Vector();
- }
- public BookmarkItem get(int i)
- {
- return (BookmarkItem) items.get(i);
- }
+ public BookmarkItems () {
+ items = new Vector ();
+ } public BookmarkItem get (int i) {
+ return (BookmarkItem) items.get (i);
+ }
- public void add(BookmarkItem bi)
- {
- items.add(bi);
- }
+ public void add (BookmarkItem bi) {
+ items.add (bi);
+ }
- protected void extend(BookmarkItems bi)
- {
- for(int i = 0; i < bi.size(); i++)
- add(bi.get(i));
- }
-
- public int size()
- {
- return items.size();
- }
-
- public Iterator iterator()
- {
- return (items).iterator();
- }
+ protected void extend (BookmarkItems bi) {
+ for (int i = 0; i < bi.size (); i++)
+ add (bi.get (i));
+ }
+
+ public int size () {
+ return items.size ();
+ }
+
+ public Iterator iterator () {
+ return (items).iterator ();
+ }
}
Modified: trunk/freenet/src/freenet/clients/http/bookmark/BookmarkManager.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/BookmarkManager.java
2007-04-23 22:49:37 UTC (rev 12910)
+++ trunk/freenet/src/freenet/clients/http/bookmark/BookmarkManager.java
2007-04-23 23:12:05 UTC (rev 12911)
@@ -20,268 +20,301 @@
public class BookmarkManager {
- private final NodeClientCore node;
- private USKUpdatedCallback uskcb;
- private boolean started;
- private BookmarkCategory mainCategory;
- private HashMap bookmarks;
-
- public BookmarkManager(NodeClientCore n, SubConfig sc)
- {
+ private final NodeClientCore node;
+ private USKUpdatedCallback uskcb;
+ private boolean started;
+ private BookmarkCategory mainCategory;
+ private HashMap bookmarks;
- bookmarks = new HashMap();
- mainCategory = new BookmarkCategory("/");
- bookmarks.put("/", mainCategory);
+ public BookmarkManager (NodeClientCore n, SubConfig sc) {
- this.uskcb = new USKUpdatedCallback();
- this.node = n;
-
- try {
-
- BookmarkCategory defaultRoot = new
BookmarkCategory("/");
-
- BookmarkCategory indexes = (BookmarkCategory)
defaultRoot.addBookmark(new BookmarkCategory("Indicies"));
- indexes.addBookmark(new BookmarkItem(new
FreenetURI("USK at
7H66rhYmxIFgMyw5Dl11JazXGHPhp7dSN7WMa1pbtEo,jQHUQUPTkeRcjmjgrc7t5cDRdDkK3uKkrSzuw5CO9uk,AQACAAE/ENTRY.POINT/20/full/page1.html"),"Entry
point", node.alerts));
- indexes.addBookmark(new BookmarkItem(new
FreenetURI("USK at
BPZppy07RyID~NGihHgs4AAw3fUXxgtKIrwRu5rtpWE,k5yjkAFJC93JkydKl6vpY0Zy9D8ec1ymv2XP4Tx5Io0,AQABAAE/FreeHoo/6/"),"Free
Hoo", node.alerts));
-
- BookmarkCategory flog = (BookmarkCategory)
defaultRoot.addBookmark(new BookmarkCategory("Freenet devel's flog"));
- flog.addBookmark(new BookmarkItem(new FreenetURI("USK
at
J585KtAJ7UN2~4i17hf7C9XbufMnticJeUDYLcB0dvo,lxZhX2snsExxemocIlI~ZJRFVdVLBLIFZhqV3yswR9U,AQABAAE/toad/10/"),"Toad",
node.alerts));
- flog.addBookmark(new BookmarkItem(new FreenetURI("USK
at
hM9XRwjXIzU8xTSBXNZvTn2KuvTSRFnVn4EER9FQnpM,gsth24O7ud4gL4NwNuYJDUqfaWASOG2zxZY~ChtgPxc,AQACAAE/Flog/2/"),
"Nextgen$", node.alerts));
-
- BookmarkCategory apps = (BookmarkCategory)
defaultRoot.addBookmark(new BookmarkCategory("Software"));
- apps.addBookmark(new BookmarkItem(new FreenetURI("USK
at
XeMBryjuEaxqazEuxwnn~G7wCUOXFOZlVWbscdCOUFs,209eycYVidlZvhgL5V2a3INFxrofxzQctEZvyJaFL7I,AQABAAE/frost/2/"),"Frost",
node.alerts));
-
- sc.register("bookmarks",defaultRoot.toStrings() , 0,
true, false, "List of bookmarks", "A list of bookmarked freesites", makeCB());
-
- makeCB().set((sc.getStringArr("bookmarks").length == 0
? defaultRoot.toStrings() : sc.getStringArr("bookmarks")));
-
-
- } catch (MalformedURLException mue) {
- // just ignore that one
- } catch (InvalidConfigValueException icve){
- //TODO
- icve.printStackTrace();
- }
-
- synchronized(this) {
- started = true;
- }
- }
-
- public class BookmarkCallback implements StringArrCallback
- {
- public String[] get()
- {
+ bookmarks = new HashMap ();
+ mainCategory = new BookmarkCategory ("/");
+ bookmarks.put ("/", mainCategory);
- synchronized(BookmarkManager.this) {
+ this.uskcb = new USKUpdatedCallback ();
+ this.node = n;
- return mainCategory.toStrings();
-
- }
- }
+ try {
- public void set(String[] newVals) throws
InvalidConfigValueException
- {
- clear();
- Pattern pattern =
Pattern.compile("/(.*/)([^/]*)=([A-Z]{3}@.*).*");
+ BookmarkCategory defaultRoot = new BookmarkCategory ("/");
- FreenetURI key;
- for (int i = 0; i < newVals.length; i++) {
- try {
- Matcher matcher =
pattern.matcher(newVals[i]);
- if(matcher.matches() &&
matcher.groupCount() == 3) {
+ BookmarkCategory indexes =
+ (BookmarkCategory) defaultRoot.
+ addBookmark (new BookmarkCategory ("Indexes"));
+ indexes.
+ addBookmark (new
+ BookmarkItem (new
+ FreenetURI
+ ("USK at
7H66rhYmxIFgMyw5Dl11JazXGHPhp7dSN7WMa1pbtEo,jQHUQUPTkeRcjmjgrc7t5cDRdDkK3uKkrSzuw5CO9uk,AQACAAE/ENTRY.POINT/20/full/page1.html"),
+ "Entry point", node.alerts));
+ indexes.
+ addBookmark (new
+ BookmarkItem (new
+ FreenetURI
+ ("USK at
BPZppy07RyID~NGihHgs4AAw3fUXxgtKIrwRu5rtpWE,k5yjkAFJC93JkydKl6vpY0Zy9D8ec1ymv2XP4Tx5Io0,AQABAAE/FreeHoo/6/"),
+ "Free Hoo", node.alerts));
- makeParents(matcher.group(1));
- key = new
FreenetURI(matcher.group(3));
-
addBookmark(matcher.group(1),new BookmarkItem(key, matcher.group(2),
node.alerts), false);
-
- }else
- throw new
InvalidConfigValueException("Malformed Bookmark");
-
- } catch (MalformedURLException mue) {
- throw new
InvalidConfigValueException(mue.getMessage());
- }
- }
- }
- }
-
- private class USKUpdatedCallback implements USKCallback {
- public void onFoundEdition(long edition, USK key) {
- BookmarkItems items = mainCategory.getAllItems();
- for (int i = 0; i < items.size(); i++) {
-
-
- if (!items.get(i).getKeyType().equals("USK"))
- continue;
-
- try {
- FreenetURI furi = new
FreenetURI(items.get(i).getKey());
- USK usk = USK.create(furi);
-
- if (usk.equals(key, false)) {
-
items.get(i).setEdition(key.suggestedEdition, node);
- break;
- }
- } catch (MalformedURLException mue) {
- }
- }
- node.storeConfig();
- }
- }
+ BookmarkCategory flog =
+ (BookmarkCategory) defaultRoot.
+ addBookmark (new BookmarkCategory ("Freenet devel's flogs"));
+ flog.
+ addBookmark (new
+ BookmarkItem (new
+ FreenetURI
+ ("USK at
J585KtAJ7UN2~4i17hf7C9XbufMnticJeUDYLcB0dvo,lxZhX2snsExxemocIlI~ZJRFVdVLBLIFZhqV3yswR9U,AQABAAE/toad/10/"),
+ "Toad", node.alerts));
+ flog.
+ addBookmark (new
+ BookmarkItem (new
+ FreenetURI
+ ("USK at
hM9XRwjXIzU8xTSBXNZvTn2KuvTSRFnVn4EER9FQnpM,gsth24O7ud4gL4NwNuYJDUqfaWASOG2zxZY~ChtgPxc,AQACAAE/Flog/2/"),
+ "Nextgen$", node.alerts));
- public BookmarkCallback makeCB() {
- return new BookmarkCallback();
- }
+ BookmarkCategory apps =
+ (BookmarkCategory) defaultRoot.
+ addBookmark (new BookmarkCategory ("Freenet related software"));
+ apps.
+ addBookmark (new
+ BookmarkItem (new
+ FreenetURI
+ ("USK at
XeMBryjuEaxqazEuxwnn~G7wCUOXFOZlVWbscdCOUFs,209eycYVidlZvhgL5V2a3INFxrofxzQctEZvyJaFL7I,AQABAAE/frost/2/"),
+ "Frost", node.alerts));
- public BookmarkCategory getMainCategory()
- {
- return mainCategory;
- }
+ sc.register ("bookmarks", defaultRoot.toStrings (), 0, true, false,
+ "List of bookmarks", "A list of bookmarked freesites",
+ makeCB ());
- public String parentPath(String path)
- {
- if(path.equals("/"))
- return "/";
+ makeCB ().
+ set ((sc.getStringArr ("bookmarks").length ==
+ 0 ? defaultRoot.toStrings () : sc.getStringArr ("bookmarks")));
- return path.substring(0, path.substring(0,path.length()
-1).lastIndexOf("/")) + "/";
- }
- public Bookmark getBookmarkByPath(String path)
- {
- return (Bookmark) bookmarks.get(path);
- }
+ } catch (MalformedURLException mue) {
+ // just ignore that one
+ } catch (InvalidConfigValueException icve) {
+ //TODO
+ icve.printStackTrace ();
+ }
- public BookmarkCategory getCategoryByPath(String path)
- {
- if(getBookmarkByPath(path) instanceof BookmarkCategory)
- return (BookmarkCategory) getBookmarkByPath(path);
+ synchronized (this) {
+ started = true;
+ }
+ }
- return null;
- }
+ public class BookmarkCallback implements StringArrCallback {
+ private final Pattern pattern = Pattern.compile
("/(.*/)([^/]*)=([A-Z]{3}@.*).*");
+ public String[] get () {
- public BookmarkItem getItemByPath(String path)
- {
- if(getBookmarkByPath(path) instanceof BookmarkItem)
- return (BookmarkItem) getBookmarkByPath(path);
+ synchronized (BookmarkManager.this) {
- return null;
- }
+ return mainCategory.toStrings ();
- public void addBookmark(String parentPath, Bookmark b, boolean store)
throws NullPointerException
- {
- BookmarkCategory parent = getCategoryByPath(parentPath);
- if(parent == null)
- throw new NullPointerException();
- else {
- parent.addBookmark(b);
- bookmarks.put(parentPath + b.getName() + ((b instanceof
BookmarkCategory) ? "/" : ""), b);
- }
-
- if(store)
- node.storeConfig();
+ }}
+
+ public void set (String[]newVals) throws InvalidConfigValueException {
+ clear ();
+
+ FreenetURI key;
+ for (int i = 0; i < newVals.length; i++) {
+ try {
+ Matcher matcher = pattern.matcher (newVals[i]);
+ if (matcher.matches () && matcher.groupCount () == 3) {
+
+ makeParents (matcher.group (1));
+ key = new FreenetURI (matcher.group (3));
+ addBookmark (matcher.group (1),
+ new BookmarkItem (key, matcher.group (2),
+ node.alerts), false);
+
+ }
+ else
+ throw new InvalidConfigValueException ("Malformed Bookmark");
+
}
-
- // TODO
- public void renameBookmark(String path, String newName)
- {
- Bookmark bookmark = getBookmarkByPath(path);
- bookmark.setName(newName);
- if(bookmark instanceof BookmarkCategory) {
- try {
- makeCB().set(makeCB().get());
-
- } catch (InvalidConfigValueException icve) { }
- }
-
+ catch (MalformedURLException mue) {
+ throw new InvalidConfigValueException (mue.getMessage ());
}
+ }
+ }
+ }
- public void removeBookmark(String path, boolean store)
- {
- Bookmark bookmark = getBookmarkByPath(path);
- if(bookmark == null)
- return;
-
- if(bookmark instanceof BookmarkCategory) {
- BookmarkCategory cat = (BookmarkCategory) bookmark;
- for(int i = 0; i < cat.size(); i++) {
- removeBookmark(path + cat.get(i).getName() +
((cat.get(i) instanceof BookmarkCategory) ? "/" : ""), false);
- }
- } else {
- if(((BookmarkItem)
bookmark).getKeyType().equals("USK")) {
- try {
- USK u = ((BookmarkItem)
bookmark).getUSK();
- this.node.uskManager.subscribe(u,
this.uskcb, true, this);
- } catch (MalformedURLException mue) { }
- }
- }
+ private class USKUpdatedCallback implements USKCallback {
+ public void onFoundEdition (long edition, USK key) {
+ BookmarkItems items = mainCategory.getAllItems ();
+ for (int i = 0; i < items.size (); i++) {
-
getCategoryByPath(parentPath(path)).removeBookmark(getBookmarkByPath(path));
- bookmarks.remove(path);
-
- if(store)
- node.storeConfig();
+ if (!items.get (i).getKeyType ().equals ("USK"))
+ continue;
+
+ try {
+ FreenetURI furi = new FreenetURI (items.get (i).getKey ());
+ USK usk = USK.create (furi);
+
+ if (usk.equals (key, false)) {
+ items.get (i).setEdition (key.suggestedEdition, node);
+ break;
+ }}
+ catch (MalformedURLException mue) {
}
+ }
+ node.storeConfig ();
+ }
+ }
- public void moveBookmarkUp(String path, boolean store)
- {
- BookmarkCategory parent = getCategoryByPath(parentPath(path));
- parent.moveBookmarkUp(getBookmarkByPath(path));
-
- if(store)
- node.storeConfig();
+ public BookmarkCallback makeCB () {
+ return new BookmarkCallback ();
+ }
+
+ public BookmarkCategory getMainCategory () {
+ return mainCategory;
+ }
+
+ public String parentPath (String path) {
+ if (path.equals ("/"))
+ return "/";
+
+ return path.substring (0,
+ path.substring (0,
+ path.length () -
+ 1).lastIndexOf ("/")) + "/";
+ }
+
+ public Bookmark getBookmarkByPath (String path) {
+ return (Bookmark) bookmarks.get (path);
+ }
+
+ public BookmarkCategory getCategoryByPath (String path) {
+ if (getBookmarkByPath (path) instanceof BookmarkCategory)
+ return (BookmarkCategory) getBookmarkByPath (path);
+
+ return null;
+ }
+
+ public BookmarkItem getItemByPath (String path) {
+ if (getBookmarkByPath (path) instanceof BookmarkItem)
+ return (BookmarkItem) getBookmarkByPath (path);
+
+ return null;
+ }
+
+ public void addBookmark (String parentPath, Bookmark b,
+ boolean store) throws NullPointerException {
+ BookmarkCategory parent = getCategoryByPath (parentPath);
+ if (parent == null)
+ throw new NullPointerException ();
+ else {
+ parent.addBookmark (b);
+ bookmarks.put (parentPath + b.getName () +
+ ((b instanceof BookmarkCategory) ? "/" : ""), b);
+ } if (store)
+ node.storeConfig ();
+ }
+
+ // TODO
+ public void renameBookmark (String path, String newName) {
+ Bookmark bookmark = getBookmarkByPath (path);
+ bookmark.setName (newName);
+ if (bookmark instanceof BookmarkCategory) {
+ try {
+ makeCB ().set (makeCB ().get ());
+
+ }
+ catch (InvalidConfigValueException icve) {
+ }
+ }
+
+ }
+
+ public void removeBookmark (String path, boolean store) {
+ Bookmark bookmark = getBookmarkByPath (path);
+ if (bookmark == null)
+ return;
+
+ if (bookmark instanceof BookmarkCategory) {
+ BookmarkCategory cat = (BookmarkCategory) bookmark;
+ for (int i = 0; i < cat.size (); i++) {
+ removeBookmark (path + cat.get (i).getName () +
+ ((cat.
+ get (i) instanceof BookmarkCategory) ? "/" : ""),
+ false);
+ }
+ }
+ else {
+ if (((BookmarkItem) bookmark).getKeyType ().equals ("USK")) {
+ try {
+ USK u = ((BookmarkItem) bookmark).getUSK ();
+ this.node.uskManager.subscribe (u, this.uskcb, true, this);
}
-
- public void moveBookmarkDown(String path, boolean store)
- {
- BookmarkCategory parent = getCategoryByPath(parentPath(path));
- parent.moveBookmarkDown(getBookmarkByPath(path));
-
- if(store)
- node.storeConfig();
+ catch (MalformedURLException mue) {
}
+ }
+ }
- private BookmarkCategory makeParents(String path)
- {
- if(bookmarks.containsKey(path))
- return getCategoryByPath(path);
- else {
-
- int index = path.substring(0,
path.length()-1).lastIndexOf("/");
- String name = path.substring(index +1, path.length()
-1);
+ getCategoryByPath (parentPath (path)).
+ removeBookmark (getBookmarkByPath (path));
+ bookmarks.remove (path);
- BookmarkCategory cat = new BookmarkCategory(name);
- makeParents(parentPath(path));
- addBookmark(parentPath(path), cat, false);
-
- return cat;
- }
- }
-
- public void clear()
- {
+ if (store)
+ node.storeConfig ();
- removeBookmark("/", false);
- bookmarks.clear();
+ }
- mainCategory = new BookmarkCategory("/");
- bookmarks.put("/", mainCategory);
+ public void moveBookmarkUp (String path, boolean store) {
+ BookmarkCategory parent = getCategoryByPath (parentPath (path));
+ parent.moveBookmarkUp (getBookmarkByPath (path));
- }
-
- public FreenetURI[] getBookmarkURIs()
- {
- BookmarkItems items = mainCategory.getAllItems();
- FreenetURI[] uris = new FreenetURI[items.size()];
- for(int i = 0; i < items.size(); i++) {
- uris[i] = items.get(i).getURI();
- }
-
- return uris;
- }
-
-
-
+ if (store)
+ node.storeConfig ();
+ }
+
+ public void moveBookmarkDown (String path, boolean store) {
+ BookmarkCategory parent = getCategoryByPath (parentPath (path));
+ parent.moveBookmarkDown (getBookmarkByPath (path));
+
+ if (store)
+ node.storeConfig ();
+ }
+
+ private BookmarkCategory makeParents (String path) {
+ if (bookmarks.containsKey (path))
+ return getCategoryByPath (path);
+ else {
+
+ int index = path.substring (0, path.length () - 1).lastIndexOf ("/");
+ String name = path.substring (index + 1, path.length () - 1);
+
+ BookmarkCategory cat = new BookmarkCategory (name);
+ makeParents (parentPath (path));
+ addBookmark (parentPath (path), cat, false);
+
+ return cat;
+ }
+ }
+
+ public void clear () {
+
+ removeBookmark ("/", false);
+ bookmarks.clear ();
+
+ mainCategory = new BookmarkCategory ("/");
+ bookmarks.put ("/", mainCategory);
+
+ }
+
+ public FreenetURI[] getBookmarkURIs () {
+ BookmarkItems items = mainCategory.getAllItems ();
+ FreenetURI[]uris = new FreenetURI[items.size ()];
+ for (int i = 0; i < items.size (); i++) {
+ uris[i] = items.get (i).getURI ();
+ }
+
+ return uris;
+ }
+
+
+
/*
public void addBookmark(Bookmark b, boolean store) {
this.bookmarks.add(b);