diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2017-11-14 22:48:04 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-14 22:48:04 +1300 |
commit | 0a2205a648243a755325c2cfceaa630f887d8952 (patch) | |
tree | b4828643e434123232a37c73b731526879834583 | |
parent | e48863c91dd049315e5ad336e5950e911cac5495 (diff) | |
parent | 31ebe3cd08a28890136cab5804903a7cf397aad6 (diff) | |
download | traccar-server-0a2205a648243a755325c2cfceaa630f887d8952.tar.gz traccar-server-0a2205a648243a755325c2cfceaa630f887d8952.tar.bz2 traccar-server-0a2205a648243a755325c2cfceaa630f887d8952.zip |
Merge pull request #3639 from Abyss777/geocode_events
Do geocoding for every events related position
-rw-r--r-- | src/org/traccar/database/LdapProvider.java | 4 | ||||
-rw-r--r-- | src/org/traccar/database/NotificationManager.java | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/org/traccar/database/LdapProvider.java b/src/org/traccar/database/LdapProvider.java index b193b87c1..2c4b7ceb1 100644 --- a/src/org/traccar/database/LdapProvider.java +++ b/src/org/traccar/database/LdapProvider.java @@ -78,7 +78,7 @@ public class LdapProvider { if (this.adminFilter != null) { try { InitialDirContext context = initContext(); - String searchString = new String(adminFilter).replace(":login", accountName); + String searchString = adminFilter.replace(":login", accountName); SearchControls searchControls = new SearchControls(); searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE); NamingEnumeration<SearchResult> results = context.search(searchBase, searchString, searchControls); @@ -104,7 +104,7 @@ public class LdapProvider { private SearchResult lookupUser(String accountName) throws NamingException { InitialDirContext context = initContext(); - String searchString = new String(searchFilter).replace(":login", accountName); + String searchString = searchFilter.replace(":login", accountName); SearchControls searchControls = new SearchControls(); String[] attributeFilter = {idAttribute, nameAttribute, mailAttribute}; diff --git a/src/org/traccar/database/NotificationManager.java b/src/org/traccar/database/NotificationManager.java index 73041a23f..4e6114001 100644 --- a/src/org/traccar/database/NotificationManager.java +++ b/src/org/traccar/database/NotificationManager.java @@ -35,8 +35,11 @@ import org.traccar.notification.NotificationSms; public class NotificationManager extends ExtendedObjectManager<Notification> { + private boolean geocodeOnRequest; + public NotificationManager(DataManager dataManager) { super(dataManager, Notification.class); + geocodeOnRequest = Context.getConfig().getBoolean("geocoder.onRequest"); } private Set<Long> getEffectiveNotifications(long userId, long deviceId) { @@ -57,6 +60,11 @@ public class NotificationManager extends ExtendedObjectManager<Notification> { Log.warning(error); } + if (position != null && geocodeOnRequest && Context.getGeocoder() != null && position.getAddress() == null) { + position.setAddress(Context.getGeocoder() + .getAddress(position.getLatitude(), position.getLongitude(), null)); + } + long deviceId = event.getDeviceId(); Set<Long> users = Context.getPermissionsManager().getDeviceUsers(deviceId); for (long userId : users) { |