aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2017-11-14 22:48:04 +1300
committerGitHub <noreply@github.com>2017-11-14 22:48:04 +1300
commit0a2205a648243a755325c2cfceaa630f887d8952 (patch)
treeb4828643e434123232a37c73b731526879834583
parente48863c91dd049315e5ad336e5950e911cac5495 (diff)
parent31ebe3cd08a28890136cab5804903a7cf397aad6 (diff)
downloadtraccar-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.java4
-rw-r--r--src/org/traccar/database/NotificationManager.java8
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) {