aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/reports/SummaryReportProvider.java
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2022-06-13 17:19:15 -0700
committerAnton Tananaev <anton@traccar.org>2022-06-13 17:19:15 -0700
commite894c17cf14addb729a6c51712ef672cc2cd160b (patch)
tree2f9b239d3445bf60e26baab0dbf7658b6ec841f5 /src/main/java/org/traccar/reports/SummaryReportProvider.java
parent75044332bebdd8bf3d77431a7008d617dc5f5986 (diff)
downloadtrackermap-server-e894c17cf14addb729a6c51712ef672cc2cd160b.tar.gz
trackermap-server-e894c17cf14addb729a6c51712ef672cc2cd160b.tar.bz2
trackermap-server-e894c17cf14addb729a6c51712ef672cc2cd160b.zip
Refactor getPositions method
Diffstat (limited to 'src/main/java/org/traccar/reports/SummaryReportProvider.java')
-rw-r--r--src/main/java/org/traccar/reports/SummaryReportProvider.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main/java/org/traccar/reports/SummaryReportProvider.java b/src/main/java/org/traccar/reports/SummaryReportProvider.java
index 28abe790b..25d558480 100644
--- a/src/main/java/org/traccar/reports/SummaryReportProvider.java
+++ b/src/main/java/org/traccar/reports/SummaryReportProvider.java
@@ -25,6 +25,7 @@ import org.traccar.helper.model.UserUtil;
import org.traccar.model.Position;
import org.traccar.reports.common.ReportUtils;
import org.traccar.reports.model.SummaryReportItem;
+import org.traccar.storage.Storage;
import org.traccar.storage.StorageException;
import javax.inject.Inject;
@@ -41,11 +42,13 @@ public class SummaryReportProvider {
private final ReportUtils reportUtils;
private final PermissionsService permissionsService;
+ private final Storage storage;
@Inject
- public SummaryReportProvider(ReportUtils reportUtils, PermissionsService permissionsService) {
+ public SummaryReportProvider(ReportUtils reportUtils, PermissionsService permissionsService, Storage storage) {
this.reportUtils = reportUtils;
this.permissionsService = permissionsService;
+ this.storage = storage;
}
private SummaryReportItem calculateSummaryResult(long deviceId, Collection<Position> positions) {
@@ -111,9 +114,8 @@ public class SummaryReportProvider {
private Collection<SummaryReportItem> calculateSummaryResults(
long userId, long deviceId, Date from, Date to, boolean daily) throws StorageException {
- ArrayList<Position> positions = new ArrayList<>(Context.getDataManager().getPositions(deviceId, from, to));
-
- ArrayList<SummaryReportItem> results = new ArrayList<>();
+ var positions = PositionUtil.getPositions(storage, deviceId, from, to);
+ var results = new ArrayList<SummaryReportItem>();
if (daily && !positions.isEmpty()) {
int startIndex = 0;
int startDay = getDay(userId, positions.iterator().next().getFixTime());