Author: xor
Date: 2008-11-08 01:55:23 +0000 (Sat, 08 Nov 2008)
New Revision: 23407

Modified:
   trunk/plugins/Freetalk/FTIdentity.java
   trunk/plugins/Freetalk/FTOwnIdentity.java
   trunk/plugins/Freetalk/WoT/FTIdentityWoT.java
   trunk/plugins/Freetalk/WoT/FTOwnIdentityWoT.java
   trunk/plugins/Freetalk/ui/IdentityEditor.java
Log:
Refactor: We now duplicate data from WoT. Storing references to WoT objects 
(i.e. identities) is a bad idea.

Modified: trunk/plugins/Freetalk/FTIdentity.java
===================================================================
--- trunk/plugins/Freetalk/FTIdentity.java      2008-11-08 01:54:23 UTC (rev 
23406)
+++ trunk/plugins/Freetalk/FTIdentity.java      2008-11-08 01:55:23 UTC (rev 
23407)
@@ -3,24 +3,16 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package plugins.Freetalk;

-import java.util.Date;
-import java.util.Iterator;
-
 import freenet.keys.FreenetURI;

 public interface FTIdentity {

+       public String getUID();
+       
        /**
         * @return The requestURI ({@link FreenetURI}) to fetch this Identity 
         */
        public FreenetURI getRequestURI();

-       public String getNickName();
-       
-       public Date getLastChange();
-       
-       /**
-        * @return Whether this Identity publishes its trustList or not
-        */
-       public boolean doesPublishTrustList();
+       public String getNickname();
 }

Modified: trunk/plugins/Freetalk/FTOwnIdentity.java
===================================================================
--- trunk/plugins/Freetalk/FTOwnIdentity.java   2008-11-08 01:54:23 UTC (rev 
23406)
+++ trunk/plugins/Freetalk/FTOwnIdentity.java   2008-11-08 01:55:23 UTC (rev 
23407)
@@ -15,8 +15,6 @@
 public interface FTOwnIdentity extends FTIdentity {

        public FreenetURI getInsertURI();
-
-       public Date getLastInsert();

        public boolean wantsMessagesFrom(FTIdentity identity);


Modified: trunk/plugins/Freetalk/WoT/FTIdentityWoT.java
===================================================================
--- trunk/plugins/Freetalk/WoT/FTIdentityWoT.java       2008-11-08 01:54:23 UTC 
(rev 23406)
+++ trunk/plugins/Freetalk/WoT/FTIdentityWoT.java       2008-11-08 01:55:23 UTC 
(rev 23407)
@@ -8,6 +8,7 @@
 import com.db4o.ObjectContainer;

 import freenet.keys.FreenetURI;
+import freenet.support.SimpleFieldSet;
 import plugins.Freetalk.FTIdentity;

 import plugins.WoT.Identity;
@@ -18,9 +19,13 @@
  */
 public class FTIdentityWoT implements FTIdentity {

-       protected final ObjectContainer db;
+       private final ObjectContainer db;

-       protected final Identity mIdentity;
+       private final String mUID;
+    /** The requestURI used to fetch this identity from Freenet */
+       private final FreenetURI mRequestURI;
+       /** The nickname of this Identity */
+       private final String mNickname;

        /**
         * Used for garbage collecting old identities which are not returned by 
the WoT plugin anymore.
@@ -33,29 +38,30 @@
         */
        private boolean mIsNeeded;

-       public FTIdentityWoT(ObjectContainer myDB, Identity myIndentity) {
+       public FTIdentityWoT(ObjectContainer myDB, String myUID, FreenetURI 
myRequestURI, String myNickname) {
+               if(myUID == null || myUID.length() == 0 || myRequestURI == null 
|| myNickname == null || myNickname.length() == 0)
+                       throw new IllegalArgumentException();
+               
                db = myDB;
-               mIdentity = myIndentity;
+               mUID = myUID;
+               mRequestURI = myRequestURI;
+               mNickname = myNickname;
                mLastReceivedFromWoT = System.currentTimeMillis();
                mIsNeeded = false;
        }
-
-       public synchronized boolean doesPublishTrustList() {
-               return mIdentity.doesPublishTrustList();
+       
+       public String getUID() {
+               return mUID;
        }

-       public synchronized Date getLastChange() {
-               return mIdentity.getLastChange();
+       public FreenetURI getRequestURI() {
+               return mRequestURI;
        }

-       public synchronized String getNickName() {
-               return mIdentity.getNickName();
+       public String getNickname() {
+               return mNickname;
        }

-       public synchronized FreenetURI getRequestURI() {
-               return mIdentity.getRequestURI();
-       }
-       
        public synchronized long getLastReceivedFromWoT() {
                return mLastReceivedFromWoT;
        }
@@ -77,5 +83,4 @@
                db.store(this);
                db.commit();
        }
-
 }

Modified: trunk/plugins/Freetalk/WoT/FTOwnIdentityWoT.java
===================================================================
--- trunk/plugins/Freetalk/WoT/FTOwnIdentityWoT.java    2008-11-08 01:54:23 UTC 
(rev 23406)
+++ trunk/plugins/Freetalk/WoT/FTOwnIdentityWoT.java    2008-11-08 01:55:23 UTC 
(rev 23407)
@@ -24,22 +24,19 @@

        private final LinkedList<FTBoard> mSubscribedBoards = new 
LinkedList<FTBoard>();

-       public FTOwnIdentityWoT(ObjectContainer myDB, OwnIdentity newIndentity) 
{
-               super(myDB, newIndentity);
-       }
+       private final FreenetURI mInsertURI;

-       protected OwnIdentity getOwnIdentity() {
-               return (OwnIdentity)mIdentity;
+       public FTOwnIdentityWoT(ObjectContainer myDB, String myUID, FreenetURI 
myRequestURI, FreenetURI myInsertURI, String myNickname) {
+               super(myDB, myUID, myRequestURI, myNickname);
+               if(myInsertURI == null)
+                       throw new IllegalArgumentException();
+               mInsertURI = myInsertURI;
        }
-
+       
        public FreenetURI getInsertURI() {
-               return getOwnIdentity().getInsertURI();
+               return mInsertURI;
        }

-       public synchronized Date getLastInsert() {
-               return getOwnIdentity().getLastInsert();
-       }
-
        public synchronized void postMessage(FTMessage message) {
                // TODO Auto-generated method stub


Modified: trunk/plugins/Freetalk/ui/IdentityEditor.java
===================================================================
--- trunk/plugins/Freetalk/ui/IdentityEditor.java       2008-11-08 01:54:23 UTC 
(rev 23406)
+++ trunk/plugins/Freetalk/ui/IdentityEditor.java       2008-11-08 01:55:23 UTC 
(rev 23407)
@@ -47,11 +47,12 @@
                        while (ownIdentities.hasNext()) {
                                FTOwnIdentity id = ownIdentities.next();
                                row = identitiesTable.addChild("tr");
-                               row.addChild("td", id.getNickName());
+                               row.addChild("td", id.getNickname());
                                row.addChild("td", new String[]{"title"}, new 
String[]{id.getRequestURI().toACIIString()}, 
id.getRequestURI().toACIIString().substring(0, 35)+"...");
                                row.addChild("td", new String[]{"title"}, new 
String[]{id.getInsertURI().toACIIString()}, 
id.getInsertURI().toACIIString().substring(0, 15)+"...");
-                               row.addChild("td", 
id.doesPublishTrustList()?"yes":"no");
+                               /* row.addChild("td", 
id.doesPublishTrustList()?"yes":"no"); */
                                HTMLNode lastUpdateCell = row.addChild("td");
+                               /*
                                if (id.getLastInsert() == null) {
                                        lastUpdateCell.addChild("p", "Insert in 
progress...");
                                } else if (id.getLastInsert().equals(new 
Date(0))) {
@@ -59,6 +60,7 @@
                                } else {
                                        lastUpdateCell.addChild(new 
HTMLNode("a", "href", "/" + id.getRequestURI().toString(), 
id.getLastInsert().toString()));
                                }
+                               */
                                HTMLNode deleteCell = row.addChild("td");
                                HTMLNode deleteForm = 
ft.pr.addFormChild(deleteCell, Freetalk.PLUGIN_URI + "/deleteOwnIdentity", 
"deleteForm");
                                deleteForm.addChild("input", new String[] { 
"type", "name", "value" }, new String[] { "hidden", "identity", 
id.getRequestURI().toACIIString()});
@@ -187,7 +189,7 @@
                        if (id instanceof FTOwnIdentity)
                                continue;
                        row = identitiesTable.addChild("tr");
-                       row.addChild("td", id.getNickName());
+                       row.addChild("td", id.getNickname());
                        row.addChild("td",  id.getRequestURI().toACIIString());
                        HTMLNode deleteCell = row.addChild("td");
                        HTMLNode deleteForm = ft.pr.addFormChild(deleteCell, 
Freetalk.PLUGIN_URI + "/deleteIdentity", "deleteForm");


Reply via email to