aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/reports/common
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2023-03-26 06:54:29 -0700
committerAnton Tananaev <anton@traccar.org>2023-03-26 06:54:29 -0700
commit3082f7b3e5bfd00ec6f6801222060dfc0d10b7e0 (patch)
tree688ca698b70bb18aa79bf0f0434923857c26dca4 /src/main/java/org/traccar/reports/common
parente6960c3d49025eb63243052e4c7aedde9955fe40 (diff)
downloadtrackermap-server-3082f7b3e5bfd00ec6f6801222060dfc0d10b7e0.tar.gz
trackermap-server-3082f7b3e5bfd00ec6f6801222060dfc0d10b7e0.tar.bz2
trackermap-server-3082f7b3e5bfd00ec6f6801222060dfc0d10b7e0.zip
Implement group commands
Diffstat (limited to 'src/main/java/org/traccar/reports/common')
-rw-r--r--src/main/java/org/traccar/reports/common/ReportUtils.java40
1 files changed, 0 insertions, 40 deletions
diff --git a/src/main/java/org/traccar/reports/common/ReportUtils.java b/src/main/java/org/traccar/reports/common/ReportUtils.java
index 35faa9c8b..f1a2f7d54 100644
--- a/src/main/java/org/traccar/reports/common/ReportUtils.java
+++ b/src/main/java/org/traccar/reports/common/ReportUtils.java
@@ -36,7 +36,6 @@ import org.traccar.helper.model.UserUtil;
import org.traccar.model.BaseModel;
import org.traccar.model.Device;
import org.traccar.model.Driver;
-import org.traccar.model.Group;
import org.traccar.model.Position;
import org.traccar.model.User;
import org.traccar.reports.model.BaseReportItem;
@@ -60,13 +59,9 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.Date;
-import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
-import java.util.Objects;
-import java.util.stream.Collectors;
@Singleton
public class ReportUtils {
@@ -106,41 +101,6 @@ public class ReportUtils {
}
}
- public Collection<Device> getAccessibleDevices(
- long userId, Collection<Long> deviceIds, Collection<Long> groupIds) throws StorageException {
-
- var devices = storage.getObjects(Device.class, new Request(
- new Columns.All(),
- new Condition.Permission(User.class, userId, Device.class)));
- var deviceById = devices.stream()
- .collect(Collectors.toUnmodifiableMap(Device::getId, x -> x));
- var devicesByGroup = devices.stream()
- .filter(x -> x.getGroupId() > 0)
- .collect(Collectors.groupingBy(Device::getGroupId));
-
- var groups = storage.getObjects(Group.class, new Request(
- new Columns.All(),
- new Condition.Permission(User.class, userId, Group.class)));
- var groupsByGroup = groups.stream()
- .filter(x -> x.getGroupId() > 0)
- .collect(Collectors.groupingBy(Group::getGroupId));
-
- var results = deviceIds.stream()
- .map(deviceById::get)
- .filter(Objects::nonNull)
- .collect(Collectors.toSet());
-
- var groupQueue = new LinkedList<>(groupIds);
- while (!groupQueue.isEmpty()) {
- long groupId = groupQueue.pop();
- results.addAll(devicesByGroup.getOrDefault(groupId, Collections.emptyList()));
- groupQueue.addAll(groupsByGroup.getOrDefault(groupId, Collections.emptyList())
- .stream().map(Group::getId).collect(Collectors.toUnmodifiableList()));
- }
-
- return results;
- }
-
public double calculateFuel(Position firstPosition, Position lastPosition) {
if (firstPosition.getAttributes().get(Position.KEY_FUEL_LEVEL) != null