aboutsummaryrefslogtreecommitdiff
path: root/src/org
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2017-08-01 17:23:24 +0500
committerAbyss777 <abyss@fox5.ru>2017-08-01 17:31:15 +0500
commit75374d646e3fe848e00eb7b959b557c0ed0ade68 (patch)
treeb14f9faebdee0e30a8ace2102939b23413ee2967 /src/org
parente400191c041b33284743b2303ab72721e831a0a3 (diff)
downloadtraccar-server-75374d646e3fe848e00eb7b959b557c0ed0ade68.tar.gz
traccar-server-75374d646e3fe848e00eb7b959b557c0ed0ade68.tar.bz2
traccar-server-75374d646e3fe848e00eb7b959b557c0ed0ade68.zip
Fix retrieving objects by unknown tokens/uniqueId
Diffstat (limited to 'src/org')
-rw-r--r--src/org/traccar/database/DriversManager.java6
-rw-r--r--src/org/traccar/database/UsersManager.java10
2 files changed, 7 insertions, 9 deletions
diff --git a/src/org/traccar/database/DriversManager.java b/src/org/traccar/database/DriversManager.java
index 9defa1931..930951460 100644
--- a/src/org/traccar/database/DriversManager.java
+++ b/src/org/traccar/database/DriversManager.java
@@ -23,7 +23,7 @@ import org.traccar.model.Driver;
public class DriversManager extends ExtendedObjectManager<Driver> {
- private Map<String, Long> driversByUniqueId;
+ private Map<String, Driver> driversByUniqueId;
public DriversManager(DataManager dataManager) {
super(dataManager, Driver.class);
@@ -36,7 +36,7 @@ public class DriversManager extends ExtendedObjectManager<Driver> {
if (driversByUniqueId == null) {
driversByUniqueId = new ConcurrentHashMap<>(getAllItems().size());
}
- driversByUniqueId.put(driver.getUniqueId(), driver.getId());
+ driversByUniqueId.put(driver.getUniqueId(), driver);
}
@Override
@@ -68,6 +68,6 @@ public class DriversManager extends ExtendedObjectManager<Driver> {
}
public Driver getDriverByUniqueId(String uniqueId) {
- return getById(driversByUniqueId.get(uniqueId));
+ return driversByUniqueId.get(uniqueId);
}
}
diff --git a/src/org/traccar/database/UsersManager.java b/src/org/traccar/database/UsersManager.java
index ed39f6cfa..576a9e6c7 100644
--- a/src/org/traccar/database/UsersManager.java
+++ b/src/org/traccar/database/UsersManager.java
@@ -25,7 +25,7 @@ import org.traccar.model.User;
public class UsersManager extends SimpleObjectManager<User> {
- private Map<String, Long> usersTokens;
+ private Map<String, User> usersTokens;
public UsersManager(DataManager dataManager) {
super(dataManager, User.class);
@@ -39,7 +39,7 @@ public class UsersManager extends SimpleObjectManager<User> {
usersTokens = new ConcurrentHashMap<>();
}
if (user.getToken() != null) {
- usersTokens.put(user.getToken(), user.getId());
+ usersTokens.put(user.getToken(), user);
}
}
@@ -53,9 +53,7 @@ public class UsersManager extends SimpleObjectManager<User> {
protected void updateCachedItem(User user) {
User cachedUser = getById(user.getId());
super.updateCachedItem(user);
- if (user.getToken() != null) {
- usersTokens.put(user.getToken(), user.getId());
- }
+ putToken(user);
if (cachedUser.getToken() != null && !cachedUser.getToken().equals(user.getToken())) {
usersTokens.remove(cachedUser.getToken());
}
@@ -82,7 +80,7 @@ public class UsersManager extends SimpleObjectManager<User> {
}
public User getUserByToken(String token) {
- return getById(usersTokens.get(token));
+ return usersTokens.get(token);
}
}