add methods for getting the iso address from contacts
git-svn-id: https://svn.apache.org/repos/asf/james/hupa/trunk@1577820 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/shared/src/main/java/org/apache/hupa/shared/rpc/ContactsResult.java b/shared/src/main/java/org/apache/hupa/shared/rpc/ContactsResult.java
index 0c06cc8..fdc5ea9 100644
--- a/shared/src/main/java/org/apache/hupa/shared/rpc/ContactsResult.java
+++ b/shared/src/main/java/org/apache/hupa/shared/rpc/ContactsResult.java
@@ -27,60 +27,70 @@
public class ContactsResult{
- public static class Contact implements IsSerializable, Serializable{
+ public static class Contact implements IsSerializable, Serializable{
private static final long serialVersionUID = -8632580327693416473L;
- public String mail;
- public String realname;
+ public String mail;
+ public String realname;
- public Contact() {
- }
+ public Contact() {
+ }
- public Contact(String address) {
- mail = address.replaceAll("^.*<([^>]+)>\\s*$", "$1");
+ public Contact(String address) {
+ mail = address.replaceAll("^.*<([^>]+)>\\s*$", "$1");
- realname = mail.equals(address) ? mail : address
- // remove the email part
- .replaceAll("<[^<>]+>\\s*$", "")
- // remove start symbols in the name
- .replaceAll("^[\\s\"'<]+", "")
- // remove end symbols in the name
- .replaceAll("[\\s\"'>]+$", "")
- ;
+ realname = mail.equals(address) ? mail : address
+ // remove the email part
+ .replaceAll("<[^<>]+>\\s*$", "")
+ // remove start symbols in the name
+ .replaceAll("^[\\s\"'<]+", "")
+ // remove end symbols in the name
+ .replaceAll("[\\s\"'>]+$", "")
+ ;
- if (realname.isEmpty())
- realname = mail;
- }
+ if (realname.isEmpty())
+ realname = mail;
+ }
- public Contact(String realname, String mail) {
- this.realname = realname;
- this.mail = mail;
- }
+ public Contact(String realname, String mail) {
+ this.realname = realname;
+ this.mail = mail;
+ }
- public String toString() {
- return (realname != null ? realname : "") + "<" + mail + ">";
- }
+ public String toString() {
+ return realname != null && !realname.isEmpty() ? realname : mail;
+ }
- public String toKey() {
- return toString().replaceAll("[^\\w\\d<@>]+", "").toLowerCase();
- }
+ public String toKey() {
+ return toString().replaceAll("[^\\w\\d<@>]+", "").toLowerCase();
+ }
+
+ public String getName() {
+ return realname;
+ }
+
+ public String toIsoAddress() {
+ if (!mail.equals(realname))
+ return realname + " <" + mail + ">";
+ else
+ return mail;
+ }
+ }
- }
+ private Contact[] contacts;
- private Contact[] contacts;
+ public ContactsResult() {
+ }
- public ContactsResult() {
- }
+ public ContactsResult(Contact... contacts) {
+ this.contacts = contacts;
+ }
- public ContactsResult(Contact... contacts) {
- this.contacts = contacts;
- }
+ public Contact[] getContacts() {
+ return contacts;
+ }
- public Contact[] getContacts() {
- return contacts;
- }
-
- public void setContacts(Contact[] contacts) {
- this.contacts = contacts;
- }
+ public void setContacts(Contact[] contacts) {
+ this.contacts = contacts;
+ }
}