Author: bombe
Date: 2008-11-17 01:51:52 +0000 (Mon, 17 Nov 2008)
New Revision: 23675
Modified:
trunk/plugins/WoT/WebInterface.java
trunk/plugins/WoT/WoT.java
trunk/plugins/WoT/ui/web/TrusteesPage.java
trunk/plugins/WoT/ui/web/TrustersPage.java
Log:
Implement Trustee and Truster web pages.
Modified: trunk/plugins/WoT/WebInterface.java
===================================================================
--- trunk/plugins/WoT/WebInterface.java 2008-11-17 00:38:17 UTC (rev 23674)
+++ trunk/plugins/WoT/WebInterface.java 2008-11-17 01:51:52 UTC (rev 23675)
@@ -369,102 +369,6 @@
return pageNode.generate();
}
- public String getTrustersPage(String id) throws
DuplicateIdentityException, UnknownIdentityException {
-
- Identity identity = Identity.getById(db, id);
-
- HTMLNode pageNode = getPageNode();
- HTMLNode contentNode = pm.getContentNode(pageNode);
- HTMLNode box = pm.getInfobox("Identities that trust '" +
identity.getNickName() + "'");
- HTMLNode boxContent = pm.getContentNode(box);
-
- // Display the list of known identities
- HTMLNode identitiesTable = boxContent.addChild("table",
"border", "0");
- HTMLNode title = identitiesTable.addChild("tr");
- title.addChild("th", "NickName");
- title.addChild("th", "Last update");
- title.addChild("th", "Trust (Comment)");
- title.addChild("th", "Trusters");
- title.addChild("th", "Trustees");
-
- ObjectSet<Trust> trusters = identity.getReceivedTrusts(db);
- while(trusters.hasNext()) {
-
- Trust trust = trusters.next();
- HTMLNode row=identitiesTable.addChild("tr");
-
- // NickName
- row.addChild("td", new String[] {"title", "style"}, new
String[] {trust.getTruster().getRequestURI().toString(), "cursor: help;"},
trust.getTruster().getNickName());
-
- // Last Change
- if (trust.getTruster().getLastChange().equals(new
Date(0))) row.addChild("td", "Fetching...");
- else row.addChild("td",
trust.getTruster().getLastChange().toString());
-
- // Trust/Comment
- row.addChild("td", trust.getValue() + " (" +
trust.getComment() + ")");
-
- // Trusters
- HTMLNode trustersCell = row.addChild("td", new String[]
{ "align" }, new String[] { "center" });
- trustersCell.addChild(new HTMLNode("a", "href",
SELF_URI + "?getTrusters&id="+trust.getTruster().getId(),
Long.toString(trust.getTruster().getNbReceivedTrusts(db))));
-
- //Trustees
- HTMLNode trusteesCell = row.addChild("td", new String[]
{ "align" }, new String[] { "center" });
- trusteesCell.addChild(new HTMLNode("a", "href",
SELF_URI + "?getTrustees&id="+trust.getTruster().getId(),
Long.toString(trust.getTruster().getNbGivenTrusts(db))));
-
- }
-
- contentNode.addChild(box);
- return pageNode.generate();
- }
-
- public String getTrusteesPage(String id) throws
DuplicateIdentityException, UnknownIdentityException {
-
- Identity identity = Identity.getById(db, id);
-
- HTMLNode pageNode = getPageNode();
- HTMLNode contentNode = pm.getContentNode(pageNode);
- HTMLNode box = pm.getInfobox("Identities that '" +
identity.getNickName() + "' trusts");
- HTMLNode boxContent = pm.getContentNode(box);
-
- // Display the list of known identities
- HTMLNode identitiesTable = boxContent.addChild("table",
"border", "0");
- HTMLNode title = identitiesTable.addChild("tr");
- title.addChild("th", "NickName");
- title.addChild("th", "Last update");
- title.addChild("th", "Trust (Comment)");
- title.addChild("th", "Trusters");
- title.addChild("th", "Trustees");
-
- ObjectSet<Trust> trustees = identity.getGivenTrusts(db);
- while(trustees.hasNext()) {
-
- Trust trust = trustees.next();
- HTMLNode row=identitiesTable.addChild("tr");
-
- // NickName
- row.addChild("td", new String[] {"title", "style"}, new
String[] {trust.getTrustee().getRequestURI().toString(), "cursor: help;"},
trust.getTrustee().getNickName());
-
- // Last Change
- if (trust.getTrustee().getLastChange().equals(new
Date(0))) row.addChild("td", "Fetching...");
- else row.addChild("td",
trust.getTrustee().getLastChange().toString());
-
- // Trust/Comment
- row.addChild("td", trust.getValue() + " (" +
trust.getComment() + ")");
-
- // Trusters
- HTMLNode trustersCell = row.addChild("td", new String[]
{ "align" }, new String[] { "center" });
- trustersCell.addChild(new HTMLNode("a", "href",
SELF_URI + "?getTrusters&id="+trust.getTrustee().getId(),
Long.toString(trust.getTrustee().getNbReceivedTrusts(db))));
-
- //Trustees
- HTMLNode trusteesCell = row.addChild("td", new String[]
{ "align" }, new String[] { "center" });
- trusteesCell.addChild(new HTMLNode("a", "href",
SELF_URI + "?getTrustees&id="+trust.getTrustee().getId(),
Long.toString(trust.getTrustee().getNbGivenTrusts(db))));
-
- }
-
- contentNode.addChild(box);
- return pageNode.generate();
- }
-
public String makeDeleteIdentityPage(String id) throws
DuplicateIdentityException, UnknownIdentityException {
Identity identity = Identity.getById(db, id);
Modified: trunk/plugins/WoT/WoT.java
===================================================================
--- trunk/plugins/WoT/WoT.java 2008-11-17 00:38:17 UTC (rev 23674)
+++ trunk/plugins/WoT/WoT.java 2008-11-17 01:51:52 UTC (rev 23675)
@@ -14,6 +14,7 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
+import java.util.Set;
import java.util.UUID;
import java.util.Map.Entry;
@@ -186,14 +187,39 @@
}
public String handleHTTPGet(HTTPRequest request) throws
PluginHTTPException {
- WebPage page;
+ WebPage page = null;
if(request.isParameterSet("ownidentities")) page = new
OwnIdentitiesPage(this, request);
else if(request.isParameterSet("knownidentities")) page = new
KnownIdentitiesPage(this, request);
else if(request.isParameterSet("configuration")) page = new
ConfigurationPage(this, request);
// TODO Handle these two in KnownIdentitiesPage
- else if(request.isParameterSet("getTrusters")) page = new
TrustersPage(this, request);
- else if(request.isParameterSet("getTrustees")) page = new
TrusteesPage(this, request);
+ else if (request.isParameterSet("getTrusters")) {
+ try {
+ Identity identity = Identity.getById(db,
request.getParam("id"));
+ Set<Trust> trusters = new HashSet<Trust>();
+ ObjectSet<Trust> trusts =
identity.getReceivedTrusts(db);
+ while (trusts.hasNext()) {
+ Trust trust = trusts.next();
+ trusters.add(trust);
+ }
+ page = new TrustersPage(this, request,
identity, trusters);
+ } catch (UnknownIdentityException uie1) {
+ Logger.error(this, "Could not load identity " +
request.getParam("id"), uie1);
+ }
+ } else if (request.isParameterSet("getTrustees")) {
+ try {
+ Identity identity = Identity.getById(db,
request.getParam("id"));
+ Set<Trust> trusters = new HashSet<Trust>();
+ ObjectSet<Trust> trusts =
identity.getGivenTrusts(db);
+ while (trusts.hasNext()) {
+ Trust trust = trusts.next();
+ trusters.add(trust);
+ }
+ page = new TrusteesPage(this, request,
identity, trusters);
+ } catch (UnknownIdentityException uie1) {
+ Logger.error(this, "Could not load identity " +
request.getParam("id"), uie1);
+ }
+ }
else if(request.isParameterSet("puzzle")) {
IntroductionPuzzle p = IntroductionPuzzle.getByID(db,
UUID.fromString(request.getParam("id")));
if(p != null) {
@@ -204,7 +230,9 @@
return "";
}
- else page = new HomePage(this, request);
+ if (page == null) {
+ page = new HomePage(this, request);
+ }
page.make();
return page.toHTML();
Modified: trunk/plugins/WoT/ui/web/TrusteesPage.java
===================================================================
--- trunk/plugins/WoT/ui/web/TrusteesPage.java 2008-11-17 00:38:17 UTC (rev
23674)
+++ trunk/plugins/WoT/ui/web/TrusteesPage.java 2008-11-17 01:51:52 UTC (rev
23675)
@@ -1,34 +1,71 @@
-/**
- *
+/*
+ * This code is part of WoT, a plugin for Freenet. It is distributed
+ * under the GNU General Public License, version 2 (or at your option
+ * any later version). See http://www.gnu.org/ for details of the GPL.
*/
package plugins.WoT.ui.web;
+import java.util.Set;
+
+import plugins.WoT.Identity;
+import plugins.WoT.Trust;
import plugins.WoT.WoT;
+import freenet.support.HTMLNode;
import freenet.support.api.HTTPRequest;
-/* FIXME: The code should be in WebInterface.java, move it here or implement
if its not there */
-
/**
- * @author xor
- *
+ * Web page that shows all identities that receive trust from a given identity.
+ *
+ * @author David ‘Bombe’ Roden <[EMAIL PROTECTED]>
*/
public class TrusteesPage extends WebPageImpl {
+ /** The identity to show the trustees of. */
+ private final Identity identity;
+
+ /** Set of trusts that have the identity as truster. */
+ private final Set<Trust> trusts;
+
/**
- * @param wot a reference to the WoT, used to get resources the page
needs.
- * @param request the request sent by the user.
+ * Creates a new trustee web page.
+ *
+ * @param wot
+ * a reference to the WoT, used to get resources the page
needs.
+ * @param request
+ * the request sent by the user.
+ * @param identity
+ * The identity to show the trustees of
+ * @param trusts
+ * The trusts that have the given identity as truster
*/
- public TrusteesPage(WoT wot, HTTPRequest request) {
+ public TrusteesPage(WoT wot, HTTPRequest request, Identity identity,
Set<Trust> trusts) {
super(wot, request);
- // TODO Auto-generated constructor stub
+ this.identity = identity;
+ this.trusts = trusts;
}
- /* (non-Javadoc)
+ /**
+ * [EMAIL PROTECTED]
+ *
* @see plugins.WoT.ui.web.WebPage#make()
*/
public void make() {
- // TODO Auto-generated method stub
+ HTMLNode contentNode = getContentBox("Identities that “" +
identity.getNickName() + "” trusts");
+ HTMLNode trustersTable = contentNode.addChild("table");
+ HTMLNode trustersTableHeader = trustersTable.addChild("tr");
+ trustersTableHeader.addChild("th", "NickName");
+ trustersTableHeader.addChild("th", "Identity");
+ trustersTableHeader.addChild("th", "Trust Value");
+ trustersTableHeader.addChild("th", "Comment");
+
+ for (Trust trust : trusts) {
+ HTMLNode trustRow = trustersTable.addChild("tr");
+ trustRow.addChild("td",
trust.getTrustee().getNickName());
+ trustRow.addChild("td", trust.getTrustee().getId());
+ trustRow.addChild("td", "align", "right",
String.valueOf(trust.getValue()));
+ trustRow.addChild("td", trust.getComment());
+ }
}
}
Modified: trunk/plugins/WoT/ui/web/TrustersPage.java
===================================================================
--- trunk/plugins/WoT/ui/web/TrustersPage.java 2008-11-17 00:38:17 UTC (rev
23674)
+++ trunk/plugins/WoT/ui/web/TrustersPage.java 2008-11-17 01:51:52 UTC (rev
23675)
@@ -1,34 +1,71 @@
-/**
- *
+/*
+ * This code is part of WoT, a plugin for Freenet. It is distributed
+ * under the GNU General Public License, version 2 (or at your option
+ * any later version). See http://www.gnu.org/ for details of the GPL.
*/
package plugins.WoT.ui.web;
+import java.util.Set;
+
+import plugins.WoT.Identity;
+import plugins.WoT.Trust;
import plugins.WoT.WoT;
+import freenet.support.HTMLNode;
import freenet.support.api.HTTPRequest;
-/* FIXME: The code should be in WebInterface.java, move it here or implement
if its not there */
-
/**
- * @author xor
- *
+ * Web page that shows all identities that give trust to a given identity.
+ *
+ * @author David ‘Bombe’ Roden <[EMAIL PROTECTED]>
*/
public class TrustersPage extends WebPageImpl {
+ /** The identity to show the trusters of. */
+ private final Identity identity;
+
+ /** Set of trusts that have the given identity as trustee. */
+ private final Set<Trust> trusts;
+
/**
- * @param wot a reference to the WoT, used to get resources the page
needs.
- * @param request the request sent by the user.
+ * Creates a new truster web page.
+ *
+ * @param wot
+ * a reference to the WoT, used to get resources the page
needs.
+ * @param request
+ * the request sent by the user.
+ * @param identity
+ * The identity to show the trusters of
+ * @param trusters
+ * The trusts that have the given identity as trustee
*/
- public TrustersPage(WoT wot, HTTPRequest request) {
+ public TrustersPage(WoT wot, HTTPRequest request, Identity identity,
Set<Trust> trusters) {
super(wot, request);
- // TODO Auto-generated constructor stub
+ this.identity = identity;
+ this.trusts = trusters;
}
- /* (non-Javadoc)
+ /**
+ * [EMAIL PROTECTED]
+ *
* @see plugins.WoT.ui.web.WebPage#make()
*/
public void make() {
- // TODO Auto-generated method stub
+ HTMLNode contentNode = getContentBox("Identities that trust “"
+ identity.getNickName() + "”");
+ HTMLNode trustersTable = contentNode.addChild("table");
+ HTMLNode trustersTableHeader = trustersTable.addChild("tr");
+ trustersTableHeader.addChild("th", "NickName");
+ trustersTableHeader.addChild("th", "Identity");
+ trustersTableHeader.addChild("th", "Trust Value");
+ trustersTableHeader.addChild("th", "Comment");
+
+ for (Trust trust : trusts) {
+ HTMLNode trustRow = trustersTable.addChild("tr");
+ trustRow.addChild("td",
trust.getTruster().getNickName());
+ trustRow.addChild("td", trust.getTruster().getId());
+ trustRow.addChild("td", "align", "right",
String.valueOf(trust.getValue()));
+ trustRow.addChild("td", trust.getComment());
+ }
}
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs