Example #1
0
 /**
  * Configures the list of Email senders. If the game was saved we use this email sender. Since
  * passwords are not stored in save games, the LocalBeanCache is checked
  *
  * @param data the game data
  */
 private void loadEmailSender(final GameData data) {
   // The list of email, either loaded from cache or created
   final List<IEmailSender> emailSenders = new ArrayList<>();
   emailSenders.add((IEmailSender) findCachedOrCreateNew(NullEmailSender.class));
   emailSenders.add((IEmailSender) findCachedOrCreateNew(GmailEmailSender.class));
   emailSenders.add((IEmailSender) findCachedOrCreateNew(HotmailEmailSender.class));
   emailSenders.add((IEmailSender) findCachedOrCreateNew(GenericEmailSender.class));
   m_emailSenderEditor.setBeans(emailSenders);
   // now get the sender from the save game, update it with credentials from the cache, and set it
   final IEmailSender sender =
       (IEmailSender) data.getProperties().get(PBEMMessagePoster.EMAIL_SENDER_PROP_NAME);
   if (sender != null) {
     final IEmailSender cached =
         (IEmailSender)
             LocalBeanCache.INSTANCE.getSerializable(sender.getClass().getCanonicalName());
     if (cached != null) {
       sender.setUserName(cached.getUserName());
       sender.setPassword(cached.getPassword());
     }
     m_emailSenderEditor.setSelectedBean(sender);
   }
 }