private void validateAddressesCache() { senderCache.clear(); if (messageSource == null || serverDescriptor == null) { return; } for (Language language : Language.values()) { for (Sender sender : Sender.values()) { try { final String address = messageSource.getMessage( "mail.address." + sender.getCode(), null, sender.getCode() + "@" + serverDescriptor.getMailHostName(), language.getLocale()); final String personal = messageSource.getMessage( "mail.personal." + sender.getCode(), null, sender.name(), language.getLocale()); senderCache.put( new SenderKey(sender, language), new InternetAddress(address, personal, "UTF-8")); } catch (UnsupportedEncodingException ex) { log.error("JAVA SYSTEM ERROR - NOT UTF8!", ex); } } for (Recipient.MailBox mailBox : Recipient.MailBox.values()) { try { final String address = messageSource.getMessage( "mail.address." + mailBox.getCode(), null, mailBox.getCode() + "@" + serverDescriptor.getMailHostName(), language.getLocale()); final String personal = messageSource.getMessage( "mail.personal." + mailBox.getCode(), null, mailBox.name(), language.getLocale()); recipientCache.put( new RecipientKey(mailBox, language), new InternetAddress(address, personal, "UTF-8")); } catch (UnsupportedEncodingException ex) { log.error("JAVA SYSTEM ERROR - NOT UTF8!", ex); } } } }
@Override public int hashCode() { int result = language.hashCode(); result = 31 * result + sender.hashCode(); return result; }