From 7663c88dba4da60afde4691fc925e2f4cf6e3c4b Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 6 Jan 2013 14:33:40 +0100 Subject: o Much better person list. --- .../io/trygvis/esper/testing/util/Gravatar.java | 28 ++++++++++++++++++++++ .../esper/testing/web/resource/CoreResource.java | 2 +- .../esper/testing/web/resource/PersonJson.java | 9 ++++++- 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 src/main/java/io/trygvis/esper/testing/util/Gravatar.java (limited to 'src/main/java/io/trygvis') diff --git a/src/main/java/io/trygvis/esper/testing/util/Gravatar.java b/src/main/java/io/trygvis/esper/testing/util/Gravatar.java new file mode 100644 index 0000000..c98662d --- /dev/null +++ b/src/main/java/io/trygvis/esper/testing/util/Gravatar.java @@ -0,0 +1,28 @@ +package io.trygvis.esper.testing.util; + +import java.io.*; +import java.security.*; + +public class Gravatar { + public static String hex(byte[] array) { + StringBuilder sb = new StringBuilder(); + for (byte anArray : array) { + sb.append(Integer.toHexString((anArray & 0xFF) | 0x100).substring(1, 3)); + } + return sb.toString(); + } + + public static String md5Hex(String message) { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + return hex(md.digest(message.getBytes("CP1252"))); + } catch (NoSuchAlgorithmException e) { + } catch (UnsupportedEncodingException e) { + } + return null; + } + + public static String gravatar(String mail) { + return "http://www.gravatar.com/avatar/" + md5Hex(mail.trim().toLowerCase()); + } +} diff --git a/src/main/java/io/trygvis/esper/testing/web/resource/CoreResource.java b/src/main/java/io/trygvis/esper/testing/web/resource/CoreResource.java index 4ab95c6..22290d9 100755 --- a/src/main/java/io/trygvis/esper/testing/web/resource/CoreResource.java +++ b/src/main/java/io/trygvis/esper/testing/web/resource/CoreResource.java @@ -148,7 +148,7 @@ public class CoreResource extends AbstractResource { protected final SqlF getPersonJson = new SqlF() { public PersonJson apply(PersonDto person) throws SQLException { - return new PersonJson(person.uuid, person.name); + return new PersonJson(person.uuid, person.name, person.mail); } }; diff --git a/src/main/java/io/trygvis/esper/testing/web/resource/PersonJson.java b/src/main/java/io/trygvis/esper/testing/web/resource/PersonJson.java index 65b081c..285ae8e 100755 --- a/src/main/java/io/trygvis/esper/testing/web/resource/PersonJson.java +++ b/src/main/java/io/trygvis/esper/testing/web/resource/PersonJson.java @@ -4,13 +4,20 @@ import io.trygvis.esper.testing.*; import java.util.*; +import static io.trygvis.esper.testing.util.Gravatar.*; + public class PersonJson { public final Uuid uuid; public final String name; + public final String mail; + public final String gravatar; - public PersonJson(Uuid uuid, String name) { + public PersonJson(Uuid uuid, String name, String mail) { this.uuid = uuid; this.name = name; + this.mail = mail; + + gravatar = gravatar(mail); } } -- cgit v1.2.3