diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-12-15 23:07:00 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-15 23:07:00 +1300 |
commit | 35a8bb5155292083ac4f3dc1a0fe1a9a3921a55f (patch) | |
tree | ba8cc0709e5d285710dc6eabebccadd977328fb5 | |
parent | c60b59121e7afc32198beaed3b69cdd04a882219 (diff) | |
parent | f8a481a3a4da75139a9b68beef83c3f0528b4572 (diff) | |
download | traccar-server-35a8bb5155292083ac4f3dc1a0fe1a9a3921a55f.tar.gz traccar-server-35a8bb5155292083ac4f3dc1a0fe1a9a3921a55f.tar.bz2 traccar-server-35a8bb5155292083ac4f3dc1a0fe1a9a3921a55f.zip |
Merge pull request #3680 from Abyss777/fix_3679
Handle boolean parameters in mail configuration attributes
-rw-r--r-- | src/org/traccar/notification/NotificationMail.java | 12 | ||||
-rw-r--r-- | src/org/traccar/notification/PropertiesProvider.java | 17 |
2 files changed, 23 insertions, 6 deletions
diff --git a/src/org/traccar/notification/NotificationMail.java b/src/org/traccar/notification/NotificationMail.java index 8707b10da..6c81ecc79 100644 --- a/src/org/traccar/notification/NotificationMail.java +++ b/src/org/traccar/notification/NotificationMail.java @@ -45,18 +45,18 @@ public final class NotificationMail { properties.put("mail.smtp.host", host); properties.put("mail.smtp.port", String.valueOf(provider.getInteger("mail.smtp.port", 25))); - String starttlsEnable = provider.getString("mail.smtp.starttls.enable"); + Boolean starttlsEnable = provider.getBoolean("mail.smtp.starttls.enable"); if (starttlsEnable != null) { - properties.put("mail.smtp.starttls.enable", Boolean.parseBoolean(starttlsEnable)); + properties.put("mail.smtp.starttls.enable", String.valueOf(starttlsEnable)); } - String starttlsRequired = provider.getString("mail.smtp.starttls.required"); + Boolean starttlsRequired = provider.getBoolean("mail.smtp.starttls.required"); if (starttlsRequired != null) { - properties.put("mail.smtp.starttls.required", Boolean.parseBoolean(starttlsRequired)); + properties.put("mail.smtp.starttls.required", String.valueOf(starttlsRequired)); } - String sslEnable = provider.getString("mail.smtp.ssl.enable"); + Boolean sslEnable = provider.getBoolean("mail.smtp.ssl.enable"); if (sslEnable != null) { - properties.put("mail.smtp.ssl.enable", Boolean.parseBoolean(sslEnable)); + properties.put("mail.smtp.ssl.enable", String.valueOf(sslEnable)); } String sslTrust = provider.getString("mail.smtp.ssl.trust"); if (sslTrust != null) { diff --git a/src/org/traccar/notification/PropertiesProvider.java b/src/org/traccar/notification/PropertiesProvider.java index c5ba688e8..8f5965a82 100644 --- a/src/org/traccar/notification/PropertiesProvider.java +++ b/src/org/traccar/notification/PropertiesProvider.java @@ -61,4 +61,21 @@ public class PropertiesProvider { } } + public Boolean getBoolean(String key) { + if (config != null) { + if (config.hasKey(key)) { + return config.getBoolean(key); + } else { + return null; + } + } else { + Object result = extendedModel.getAttributes().get(key); + if (result != null) { + return result instanceof String ? Boolean.valueOf((String) result) : (Boolean) result; + } else { + return null; + } + } + } + } |