From 054c151fc4e4d56b8bbefd4389fd232f7f3ee5aa Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sat, 16 May 2026 15:49:15 -0700 Subject: [PATCH] Migrate to sequenced collection --- src/main/java/org/traccar/geocoder/GoogleGeocoder.java | 2 +- src/main/java/org/traccar/geocoder/MapboxGeocoder.java | 2 +- .../java/org/traccar/geocoder/MapmyIndiaGeocoder.java | 2 +- .../java/org/traccar/protocol/RuptelaProtocolDecoder.java | 2 +- src/main/java/org/traccar/reports/common/ReportUtils.java | 8 ++++---- src/main/java/org/traccar/storage/DatabaseStorage.java | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/traccar/geocoder/GoogleGeocoder.java b/src/main/java/org/traccar/geocoder/GoogleGeocoder.java index 174ef66c8..eb4ce9bcd 100644 --- a/src/main/java/org/traccar/geocoder/GoogleGeocoder.java +++ b/src/main/java/org/traccar/geocoder/GoogleGeocoder.java @@ -47,7 +47,7 @@ public class GoogleGeocoder extends JsonGeocoder { if (!results.isEmpty()) { Address address = new Address(); - JsonObject result = (JsonObject) results.get(0); + JsonObject result = (JsonObject) results.getFirst(); JsonArray components = result.getJsonArray("address_components"); if (result.containsKey("formatted_address")) { diff --git a/src/main/java/org/traccar/geocoder/MapboxGeocoder.java b/src/main/java/org/traccar/geocoder/MapboxGeocoder.java index 9fa6b8d88..bbdc3f3e5 100644 --- a/src/main/java/org/traccar/geocoder/MapboxGeocoder.java +++ b/src/main/java/org/traccar/geocoder/MapboxGeocoder.java @@ -37,7 +37,7 @@ public class MapboxGeocoder extends JsonGeocoder { if (!features.isEmpty()) { Address address = new Address(); - JsonObject mostSpecificFeature = (JsonObject) features.get(0); + JsonObject mostSpecificFeature = (JsonObject) features.getFirst(); if (mostSpecificFeature.containsKey("place_name")) { address.setFormattedAddress(mostSpecificFeature.getString("place_name")); diff --git a/src/main/java/org/traccar/geocoder/MapmyIndiaGeocoder.java b/src/main/java/org/traccar/geocoder/MapmyIndiaGeocoder.java index b68db07bc..f77ac237e 100644 --- a/src/main/java/org/traccar/geocoder/MapmyIndiaGeocoder.java +++ b/src/main/java/org/traccar/geocoder/MapmyIndiaGeocoder.java @@ -32,7 +32,7 @@ public class MapmyIndiaGeocoder extends JsonGeocoder { if (!results.isEmpty()) { Address address = new Address(); - JsonObject result = (JsonObject) results.get(0); + JsonObject result = (JsonObject) results.getFirst(); if (result.containsKey("formatted_address")) { address.setFormattedAddress(result.getString("formatted_address")); diff --git a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java index eb1b6d5f8..5a77d8c71 100644 --- a/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java +++ b/src/main/java/org/traccar/protocol/RuptelaProtocolDecoder.java @@ -208,7 +208,7 @@ public class RuptelaProtocolDecoder extends BaseProtocolDecoder { if (positions.size() == 0) { getLastLocation(position, null); } else { - position = positions.remove(positions.size() - 1); + position = positions.removeLast(); } } } diff --git a/src/main/java/org/traccar/reports/common/ReportUtils.java b/src/main/java/org/traccar/reports/common/ReportUtils.java index 81521b86e..393bd749a 100644 --- a/src/main/java/org/traccar/reports/common/ReportUtils.java +++ b/src/main/java/org/traccar/reports/common/ReportUtils.java @@ -308,9 +308,9 @@ public class ReportUtils { double maxSpeed = 0; var positions = PositionUtil.getPositions(storage, device.getId(), from, to); if (!positions.isEmpty()) { - boolean initialValue = positions.get(0).getBoolean(Position.KEY_MOTION); + boolean initialValue = positions.getFirst().getBoolean(Position.KEY_MOTION); if (initialValue == trips) { - startPosition = positions.get(0); + startPosition = positions.getFirst(); maxSpeed = startPosition.getSpeed(); } @@ -322,7 +322,7 @@ public class ReportUtils { NewMotionState motionState = new NewMotionState(); motionState.setPositions(motionPositions); motionState.setMotionStreak(initialValue); - motionState.setEventPosition(positions.get(0)); + motionState.setEventPosition(positions.getFirst()); for (Position position : positions) { maxSpeed = Math.max(maxSpeed, position.getSpeed()); @@ -385,7 +385,7 @@ public class ReportUtils { } if (startPosition != null) { - Position endPosition = positions.get(positions.size() - 1); + Position endPosition = positions.getLast(); result.add(calculateTripOrStop( device, startPosition, endPosition, maxSpeed, ignoreOdometer, reportClass)); } diff --git a/src/main/java/org/traccar/storage/DatabaseStorage.java b/src/main/java/org/traccar/storage/DatabaseStorage.java index 1bd0270b2..4d0a392d8 100644 --- a/src/main/java/org/traccar/storage/DatabaseStorage.java +++ b/src/main/java/org/traccar/storage/DatabaseStorage.java @@ -116,7 +116,7 @@ public class DatabaseStorage extends Storage { @Override public List addObjects(List entities, Request request) throws StorageException { - Class entityClass = entities.get(0).getClass(); + Class entityClass = entities.getFirst().getClass(); List columns = request.getColumns().getColumns(entityClass, "get"); try (QueryBuilder builder = QueryBuilder.create( config, dataSource, objectMapper, formatInsert(entityClass, columns), true)) {