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

Reply via email to