aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/reports
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar/reports')
-rw-r--r--src/main/java/org/traccar/reports/EventsReportProvider.java14
-rw-r--r--src/main/java/org/traccar/reports/RouteReportProvider.java14
-rw-r--r--src/main/java/org/traccar/reports/StopsReportProvider.java14
-rw-r--r--src/main/java/org/traccar/reports/SummaryReportProvider.java15
-rw-r--r--src/main/java/org/traccar/reports/TripsReportProvider.java14
5 files changed, 51 insertions, 20 deletions
diff --git a/src/main/java/org/traccar/reports/EventsReportProvider.java b/src/main/java/org/traccar/reports/EventsReportProvider.java
index 6de313a13..91d061c65 100644
--- a/src/main/java/org/traccar/reports/EventsReportProvider.java
+++ b/src/main/java/org/traccar/reports/EventsReportProvider.java
@@ -18,6 +18,8 @@ package org.traccar.reports;
import org.apache.poi.ss.util.WorkbookUtil;
import org.traccar.Context;
+import org.traccar.config.Config;
+import org.traccar.config.Keys;
import org.traccar.model.Device;
import org.traccar.model.Event;
import org.traccar.model.Geofence;
@@ -28,10 +30,12 @@ import org.traccar.reports.model.DeviceReportSection;
import org.traccar.storage.StorageException;
import javax.inject.Inject;
+import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
@@ -40,10 +44,12 @@ import java.util.Iterator;
public class EventsReportProvider {
+ private final Config config;
private final ReportUtils reportUtils;
@Inject
- public EventsReportProvider(ReportUtils reportUtils) {
+ public EventsReportProvider(Config config, ReportUtils reportUtils) {
+ this.config = config;
this.reportUtils = reportUtils;
}
@@ -120,9 +126,9 @@ public class EventsReportProvider {
deviceEvents.setObjects(events);
devicesEvents.add(deviceEvents);
}
- String templatePath = Context.getConfig().getString("report.templatesPath",
- "templates/export/");
- try (InputStream inputStream = new FileInputStream(templatePath + "/events.xlsx")) {
+
+ File file = Paths.get(config.getString(Keys.TEMPLATES_ROOT), "export", "events.xlsx").toFile();
+ try (InputStream inputStream = new FileInputStream(file)) {
var context = reportUtils.initializeContext(userId);
context.putVar("devices", devicesEvents);
context.putVar("sheetNames", sheetNames);
diff --git a/src/main/java/org/traccar/reports/RouteReportProvider.java b/src/main/java/org/traccar/reports/RouteReportProvider.java
index dbbf0906d..b1a806960 100644
--- a/src/main/java/org/traccar/reports/RouteReportProvider.java
+++ b/src/main/java/org/traccar/reports/RouteReportProvider.java
@@ -18,6 +18,8 @@ package org.traccar.reports;
import org.apache.poi.ss.util.WorkbookUtil;
import org.traccar.Context;
+import org.traccar.config.Config;
+import org.traccar.config.Keys;
import org.traccar.helper.model.PositionUtil;
import org.traccar.model.Device;
import org.traccar.model.Group;
@@ -28,21 +30,25 @@ import org.traccar.storage.Storage;
import org.traccar.storage.StorageException;
import javax.inject.Inject;
+import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
public class RouteReportProvider {
+ private final Config config;
private final ReportUtils reportUtils;
private final Storage storage;
@Inject
- public RouteReportProvider(ReportUtils reportUtils, Storage storage) {
+ public RouteReportProvider(Config config, ReportUtils reportUtils, Storage storage) {
+ this.config = config;
this.reportUtils = reportUtils;
this.storage = storage;
}
@@ -80,9 +86,9 @@ public class RouteReportProvider {
deviceRoutes.setObjects(positions);
devicesRoutes.add(deviceRoutes);
}
- String templatePath = Context.getConfig().getString("report.templatesPath",
- "templates/export/");
- try (InputStream inputStream = new FileInputStream(templatePath + "/route.xlsx")) {
+
+ File file = Paths.get(config.getString(Keys.TEMPLATES_ROOT), "export", "route.xlsx").toFile();
+ try (InputStream inputStream = new FileInputStream(file)) {
var context = reportUtils.initializeContext(userId);
context.putVar("devices", devicesRoutes);
context.putVar("sheetNames", sheetNames);
diff --git a/src/main/java/org/traccar/reports/StopsReportProvider.java b/src/main/java/org/traccar/reports/StopsReportProvider.java
index 534ab7742..a6a9a94cc 100644
--- a/src/main/java/org/traccar/reports/StopsReportProvider.java
+++ b/src/main/java/org/traccar/reports/StopsReportProvider.java
@@ -18,6 +18,8 @@ package org.traccar.reports;
import org.apache.poi.ss.util.WorkbookUtil;
import org.traccar.Context;
+import org.traccar.config.Config;
+import org.traccar.config.Keys;
import org.traccar.helper.model.PositionUtil;
import org.traccar.model.Device;
import org.traccar.model.Group;
@@ -28,21 +30,25 @@ import org.traccar.storage.Storage;
import org.traccar.storage.StorageException;
import javax.inject.Inject;
+import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
public class StopsReportProvider {
+ private final Config config;
private final ReportUtils reportUtils;
private final Storage storage;
@Inject
- public StopsReportProvider(ReportUtils reportUtils, Storage storage) {
+ public StopsReportProvider(Config config, ReportUtils reportUtils, Storage storage) {
+ this.config = config;
this.reportUtils = reportUtils;
this.storage = storage;
}
@@ -88,9 +94,9 @@ public class StopsReportProvider {
deviceStops.setObjects(stops);
devicesStops.add(deviceStops);
}
- String templatePath = Context.getConfig().getString("report.templatesPath",
- "templates/export/");
- try (InputStream inputStream = new FileInputStream(templatePath + "/stops.xlsx")) {
+
+ File file = Paths.get(config.getString(Keys.TEMPLATES_ROOT), "export", "stops.xlsx").toFile();
+ try (InputStream inputStream = new FileInputStream(file)) {
var context = reportUtils.initializeContext(userId);
context.putVar("devices", devicesStops);
context.putVar("sheetNames", sheetNames);
diff --git a/src/main/java/org/traccar/reports/SummaryReportProvider.java b/src/main/java/org/traccar/reports/SummaryReportProvider.java
index 25d558480..68976b987 100644
--- a/src/main/java/org/traccar/reports/SummaryReportProvider.java
+++ b/src/main/java/org/traccar/reports/SummaryReportProvider.java
@@ -19,6 +19,8 @@ package org.traccar.reports;
import org.jxls.util.JxlsHelper;
import org.traccar.Context;
import org.traccar.api.security.PermissionsService;
+import org.traccar.config.Config;
+import org.traccar.config.Keys;
import org.traccar.helper.UnitsConverter;
import org.traccar.helper.model.PositionUtil;
import org.traccar.helper.model.UserUtil;
@@ -29,10 +31,12 @@ import org.traccar.storage.Storage;
import org.traccar.storage.StorageException;
import javax.inject.Inject;
+import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
@@ -40,12 +44,15 @@ import java.util.Date;
public class SummaryReportProvider {
+ private final Config config;
private final ReportUtils reportUtils;
private final PermissionsService permissionsService;
private final Storage storage;
@Inject
- public SummaryReportProvider(ReportUtils reportUtils, PermissionsService permissionsService, Storage storage) {
+ public SummaryReportProvider(
+ Config config, ReportUtils reportUtils, PermissionsService permissionsService, Storage storage) {
+ this.config = config;
this.reportUtils = reportUtils;
this.permissionsService = permissionsService;
this.storage = storage;
@@ -157,9 +164,9 @@ public class SummaryReportProvider {
Date from, Date to, boolean daily) throws StorageException, IOException {
reportUtils.checkPeriodLimit(from, to);
Collection<SummaryReportItem> summaries = getObjects(userId, deviceIds, groupIds, from, to, daily);
- String templatePath = Context.getConfig().getString("report.templatesPath",
- "templates/export/");
- try (InputStream inputStream = new FileInputStream(templatePath + "/summary.xlsx")) {
+
+ File file = Paths.get(config.getString(Keys.TEMPLATES_ROOT), "export", "summary.xlsx").toFile();
+ try (InputStream inputStream = new FileInputStream(file)) {
var context = reportUtils.initializeContext(userId);
context.putVar("summaries", summaries);
context.putVar("from", from);
diff --git a/src/main/java/org/traccar/reports/TripsReportProvider.java b/src/main/java/org/traccar/reports/TripsReportProvider.java
index a8e0e3dde..bff559664 100644
--- a/src/main/java/org/traccar/reports/TripsReportProvider.java
+++ b/src/main/java/org/traccar/reports/TripsReportProvider.java
@@ -18,6 +18,8 @@ package org.traccar.reports;
import org.apache.poi.ss.util.WorkbookUtil;
import org.traccar.Context;
+import org.traccar.config.Config;
+import org.traccar.config.Keys;
import org.traccar.helper.model.PositionUtil;
import org.traccar.model.Device;
import org.traccar.model.Group;
@@ -28,21 +30,25 @@ import org.traccar.storage.Storage;
import org.traccar.storage.StorageException;
import javax.inject.Inject;
+import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
public class TripsReportProvider {
+ private final Config config;
private final ReportUtils reportUtils;
private final Storage storage;
@Inject
- public TripsReportProvider(ReportUtils reportUtils, Storage storage) {
+ public TripsReportProvider(Config config, ReportUtils reportUtils, Storage storage) {
+ this.config = config;
this.reportUtils = reportUtils;
this.storage = storage;
}
@@ -88,9 +94,9 @@ public class TripsReportProvider {
deviceTrips.setObjects(trips);
devicesTrips.add(deviceTrips);
}
- String templatePath = Context.getConfig().getString("report.templatesPath",
- "templates/export/");
- try (InputStream inputStream = new FileInputStream(templatePath + "/trips.xlsx")) {
+
+ File file = Paths.get(config.getString(Keys.TEMPLATES_ROOT), "export", "trips.xlsx").toFile();
+ try (InputStream inputStream = new FileInputStream(file)) {
var context = reportUtils.initializeContext(userId);
context.putVar("devices", devicesTrips);
context.putVar("sheetNames", sheetNames);