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);