aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/web
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/web')
-rw-r--r--src/org/traccar/web/CsvBuilder.java11
-rw-r--r--src/org/traccar/web/WebServer.java3
2 files changed, 12 insertions, 2 deletions
diff --git a/src/org/traccar/web/CsvBuilder.java b/src/org/traccar/web/CsvBuilder.java
index 73d5fac1d..f59aabc7f 100644
--- a/src/org/traccar/web/CsvBuilder.java
+++ b/src/org/traccar/web/CsvBuilder.java
@@ -37,6 +37,12 @@ public class CsvBuilder {
SortedSet<Method> methods = new TreeSet<Method>(new Comparator<Method>() {
@Override
public int compare(Method m1, Method m2) {
+ if (m1.getName().equals("getAttributes") && !m1.getName().equals(m2.getName())) {
+ return 1;
+ }
+ if (m2.getName().equals("getAttributes") && !m1.getName().equals(m2.getName())) {
+ return -1;
+ }
return m1.getName().compareTo(m2.getName());
}
});
@@ -73,7 +79,10 @@ public class CsvBuilder {
} else if (method.getReturnType().equals(Map.class)) {
Map value = (Map) method.invoke(object);
if (value != null) {
- builder.append(MiscFormatter.toJson(value).toString());
+ String map = MiscFormatter.toJson(value).toString();
+ map = map.replaceAll("[\\{\\}\"]", "");
+ map = map.replaceAll(",", " ");
+ builder.append(map);
addSeparator();
}
}
diff --git a/src/org/traccar/web/WebServer.java b/src/org/traccar/web/WebServer.java
index e022a9285..ec15ea2be 100644
--- a/src/org/traccar/web/WebServer.java
+++ b/src/org/traccar/web/WebServer.java
@@ -34,6 +34,7 @@ import org.traccar.api.CorsResponseFilter;
import org.traccar.api.ObjectMapperProvider;
import org.traccar.api.ResourceErrorHandler;
import org.traccar.api.SecurityRequestFilter;
+import org.traccar.api.resource.AttributeAliasResource;
import org.traccar.api.resource.CommandResource;
import org.traccar.api.resource.GroupPermissionResource;
import org.traccar.api.resource.ServerResource;
@@ -161,7 +162,7 @@ public class WebServer {
GroupResource.class, DeviceResource.class, PositionResource.class,
CommandTypeResource.class, EventResource.class, GeofenceResource.class,
DeviceGeofenceResource.class, GeofencePermissionResource.class, GroupGeofenceResource.class,
- NotificationResource.class, ReportResource.class);
+ NotificationResource.class, ReportResource.class, AttributeAliasResource.class);
servletHandler.addServlet(new ServletHolder(new ServletContainer(resourceConfig)), "/*");
handlers.addHandler(servletHandler);