Author: batosai
Date: 2008-08-13 11:52:55 +0000 (Wed, 13 Aug 2008)
New Revision: 21789

Modified:
   trunk/apps/WoT/src/plugins/WoT/WoTplugin.java
Log:
Handle adding an identity trough FCP

Modified: trunk/apps/WoT/src/plugins/WoT/WoTplugin.java
===================================================================
--- trunk/apps/WoT/src/plugins/WoT/WoTplugin.java       2008-08-13 11:34:51 UTC 
(rev 21788)
+++ trunk/apps/WoT/src/plugins/WoT/WoTplugin.java       2008-08-13 11:52:55 UTC 
(rev 21789)
@@ -19,6 +19,7 @@
 import com.db4o.ObjectContainer;
 import com.db4o.ObjectSet;

+import freenet.client.FetchException;
 import freenet.client.HighLevelSimpleClient;
 import freenet.client.InsertException;
 import freenet.clients.http.PageMaker;
@@ -324,7 +325,9 @@
                                return makeOwnIdentitiesPage();
                        }
                        else if(page.equals("/addIdentity")) {
-                               return addIdentity(request);
+                               addIdentity(request);
+                               return makeKnownIdentitiesPage();
+
                        }
                        else if(page.equals("/viewTree")) {
                                return 
makeKnownIdentitiesPage(request.getPartAsString("ownerURI", 1024));
@@ -372,30 +375,23 @@
                db.commit();    
        }

-       private String addIdentity(HTTPRequest request) {
-               
+       private void addIdentity(HTTPRequest request) throws 
MalformedURLException, InvalidParameterException, FetchException {
+               addIdentity(request.getPartAsString("identityURI", 
1024).trim());
+       }
+       
+       private Identity addIdentity(String requestURI) throws 
MalformedURLException, InvalidParameterException, FetchException {
                Identity identity;
                try {
-                       identity = 
wot.getIdentityByURI(request.getPartAsString("identityURI", 1024));
-                       return "We already know that identity !";
+                       identity = wot.getIdentityByURI(requestURI);
+                       throw new InvalidParameterException("We already have 
this identity");
                }
                catch (UnknownIdentityException e) {
-                       try {
-                               identity = new 
Identity(request.getPartAsString("identityURI", 1024), new Date(0), "Not found 
yet...", "false");
+                               identity = new Identity(requestURI, new 
Date(0), "Not found yet...", "false");
                                db.store(identity);
                                db.commit();
                                fetcher.fetch(identity);
-                       }
-                       catch(Exception e2) {
-                               return e2.getMessage();
-                       }
-               } catch (MalformedURLException e) {
-                       return e.getMessage();
-               } catch (InvalidParameterException e) {
-                       return e.getMessage();
                }
-               
-               return makeKnownIdentitiesPage();
+               return identity;
        }

        private OwnIdentity createIdentity(HTTPRequest request) throws 
TransformerConfigurationException, FileNotFoundException, 
InvalidParameterException, ParserConfigurationException, TransformerException, 
IOException, InsertException {
@@ -452,6 +448,9 @@
                        else if(params.get("Message").equals("SetTrust")) {
                                replysender.send(handleSetTrust(params), data);
                        }
+                       else if(params.get("Message").equals("AddIdentity")) {
+                               replysender.send(handleAddIdentity(params), 
data);
+                       }
                        else {
                                throw new Exception("Unknown message (" + 
params.get("Message") + ")");
                        }
@@ -495,6 +494,19 @@
                return sfs;
        }

+       private SimpleFieldSet handleAddIdentity(SimpleFieldSet params) throws 
InvalidParameterException, MalformedURLException, FetchException {
+               
+               SimpleFieldSet sfs = new SimpleFieldSet(false);
+
+               if(params.get("requestURI") == null) throw new 
InvalidParameterException("Missing mandatory parameter");
+               
+               Identity identity = 
addIdentity(params.get("requestURI").trim());
+               
+               sfs.putAppend("Message", "IdentityAdded");
+               sfs.putAppend("requestURI", 
identity.getRequestURI().toString());
+               return sfs;
+       }
+       
        private SimpleFieldSet errorMessageFCP (Exception e) {

                SimpleFieldSet sfs = new SimpleFieldSet(false);


Reply via email to