Author: batosai
Date: 2008-08-13 14:49:19 +0000 (Wed, 13 Aug 2008)
New Revision: 21811

Modified:
   trunk/apps/WoT/src/plugins/WoT/Identity.java
   trunk/apps/WoT/src/plugins/WoT/WoTplugin.java
Log:
Handle GetIdentity FCP message

Modified: trunk/apps/WoT/src/plugins/WoT/Identity.java
===================================================================
--- trunk/apps/WoT/src/plugins/WoT/Identity.java        2008-08-13 14:48:57 UTC 
(rev 21810)
+++ trunk/apps/WoT/src/plugins/WoT/Identity.java        2008-08-13 14:49:19 UTC 
(rev 21811)
@@ -60,8 +60,14 @@
                ObjectSet<Score> score = db.queryByExample(new Score(treeOwner, 
this, 0, 0, 0));
                if(score.hasNext()) return score.next();
                else return new Score(treeOwner, this, 0, -1, 0);
-       }       
+       }

+       public Trust getTrust(Identity truster, ObjectContainer db) throws 
InvalidParameterException {
+               ObjectSet<Trust> trust = db.queryByExample(new Trust(truster, 
this, 0, null));
+               if(trust.hasNext()) return trust.next();
+               else throw new InvalidParameterException("Identity 
"+truster.getRequestURI().toString()+" does not trust 
"+this.getRequestURI().toString());
+       }
+       
        /**
         * @return The request URI to fetch this identity
         */

Modified: trunk/apps/WoT/src/plugins/WoT/WoTplugin.java
===================================================================
--- trunk/apps/WoT/src/plugins/WoT/WoTplugin.java       2008-08-13 14:48:57 UTC 
(rev 21810)
+++ trunk/apps/WoT/src/plugins/WoT/WoTplugin.java       2008-08-13 14:49:19 UTC 
(rev 21811)
@@ -453,6 +453,9 @@
                        else if(params.get("Message").equals("AddIdentity")) {
                                replysender.send(handleAddIdentity(params), 
data);
                        }
+                       else if(params.get("Message").equals("GetIdentity")) {
+                               replysender.send(handleGetIdentity(params), 
data);
+                       }
                        else 
if(params.get("Message").equals("GetIdentitiesByScore")) {
                                
replysender.send(handleGetIdentitiesByScore(params), data);
                        }                       
@@ -513,6 +516,32 @@
                return sfs;
        }

+       private SimpleFieldSet handleGetIdentity(SimpleFieldSet params) throws 
InvalidParameterException, MalformedURLException, FetchException, 
UnknownIdentityException {
+               
+               SimpleFieldSet sfs = new SimpleFieldSet(false);
+
+               if(params.get("TreeOwner") == null || params.get("Identity") == 
null) throw new InvalidParameterException("Missing mandatory parameter");
+               
+               sfs.putAppend("Message", "Identity");
+               
+               OwnIdentity treeOwner = 
wot.getOwnIdentityByURI(params.get("TreeOwner"));
+               Identity identity = 
wot.getIdentityByURI(params.get("Identity"));
+               
+               try {
+                       Trust trust = identity.getTrust(treeOwner, db);
+                       sfs.putAppend("Trust", 
String.valueOf(trust.getValue()));
+               }
+               catch(InvalidParameterException e) {
+                       sfs.putAppend("Trust", "null");
+               }
+               
+               Score score = identity.getScore(treeOwner, db);
+               sfs.putAppend("Score", String.valueOf(score.getScore()));
+               sfs.putAppend("Rank", String.valueOf(score.getRank()));
+               
+               return sfs;
+       }
+       
        private SimpleFieldSet handleGetIdentitiesByScore(SimpleFieldSet 
params) throws InvalidParameterException, MalformedURLException, 
UnknownIdentityException {

                SimpleFieldSet sfs = new SimpleFieldSet(false);


Reply via email to