You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@baremaps.apache.org by bc...@apache.org on 2024/06/12 23:12:38 UTC
(incubator-baremaps) 03/04: Use record instead of class
This is an automated email from the ASF dual-hosted git repository.
bchapuis pushed a commit to branch sonar
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
commit c79d65a7436ec639e6794f63935ba27802f3ba93
Author: Bertil Chapuis <bc...@gmail.com>
AuthorDate: Thu Jun 13 01:10:27 2024 +0200
Use record instead of class
---
.../org/apache/baremaps/database/DiffService.java | 4 +-
.../database/postgres/HeaderRepository.java | 22 ++--
.../baremaps/workflow/tasks/UpdateOsmDatabase.java | 8 +-
.../database/postgres/HeaderRepositoryTest.java | 14 +--
.../workflow/tasks/ImportUpdateSampleTest.java | 10 +-
.../baremaps/openstreetmap/model/Header.java | 114 +--------------------
.../baremaps/openstreetmap/OsmSampleTest.java | 2 +-
7 files changed, 35 insertions(+), 139 deletions(-)
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java b/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java
index cf84d3e8..4a042a2a 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/DiffService.java
@@ -80,8 +80,8 @@ public class DiffService implements Callable<List<TileCoord>> {
logger.info("Importing changes");
var header = headerRepository.selectLatest();
- var replicationUrl = header.getReplicationUrl();
- var sequenceNumber = header.getReplicationSequenceNumber() + 1;
+ var replicationUrl = header.replicationUrl();
+ var sequenceNumber = header.replicationSequenceNumber() + 1;
var changeUrl = resolve(replicationUrl, sequenceNumber, "osc.gz");
var projectionTransformer = new ProjectionTransformer(srid, 4326);
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/HeaderRepository.java b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/HeaderRepository.java
index 7ff27821..d2dcfac1 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/HeaderRepository.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/database/postgres/HeaderRepository.java
@@ -232,7 +232,7 @@ public class HeaderRepository implements Repository<Long, Header> {
Map<Long, Header> values = new HashMap<>();
while (result.next()) {
Header value = getValue(result);
- values.put(value.getReplicationSequenceNumber(), value);
+ values.put(value.replicationSequenceNumber(), value);
}
return keys.stream().map(values::get).toList();
}
@@ -315,11 +315,11 @@ public class HeaderRepository implements Repository<Long, Header> {
writer.writeHeader();
for (Header value : values) {
writer.startRow(5);
- writer.writeLong(value.getReplicationSequenceNumber());
- writer.writeLocalDateTime(value.getReplicationTimestamp());
- writer.write(value.getReplicationUrl());
- writer.write(value.getSource());
- writer.write(value.getWritingProgram());
+ writer.writeLong(value.replicationSequenceNumber());
+ writer.writeLocalDateTime(value.replicationTimestamp());
+ writer.write(value.replicationUrl());
+ writer.write(value.source());
+ writer.write(value.writingProgram());
}
}
} catch (IOException | SQLException e) {
@@ -338,10 +338,10 @@ public class HeaderRepository implements Repository<Long, Header> {
}
private void setValue(PreparedStatement statement, Header value) throws SQLException {
- statement.setObject(1, value.getReplicationSequenceNumber());
- statement.setObject(2, value.getReplicationTimestamp());
- statement.setObject(3, value.getReplicationUrl());
- statement.setObject(4, value.getSource());
- statement.setObject(5, value.getWritingProgram());
+ statement.setObject(1, value.replicationSequenceNumber());
+ statement.setObject(2, value.replicationTimestamp());
+ statement.setObject(3, value.replicationUrl());
+ statement.setObject(4, value.source());
+ statement.setObject(5, value.writingProgram());
}
}
diff --git a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java
index 0f4fb030..8dbd64a4 100644
--- a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java
+++ b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/UpdateOsmDatabase.java
@@ -118,16 +118,16 @@ public class UpdateOsmDatabase implements Task {
// If the replicationUrl is not provided, use the one from the latest header.
if (replicationUrl == null) {
- replicationUrl = header.getReplicationUrl();
+ replicationUrl = header.replicationUrl();
}
// Get the sequence number of the latest header
var stateReader = new StateReader(replicationUrl, true);
- var sequenceNumber = header.getReplicationSequenceNumber();
+ var sequenceNumber = header.replicationSequenceNumber();
// If the replicationTimestamp is not provided, guess it from the replication timestamp.
if (sequenceNumber <= 0) {
- var replicationTimestamp = header.getReplicationTimestamp();
+ var replicationTimestamp = header.replicationTimestamp();
var state = stateReader.getStateFromTimestamp(replicationTimestamp);
if (state.isPresent()) {
sequenceNumber = state.get().getSequenceNumber();
@@ -175,7 +175,7 @@ public class UpdateOsmDatabase implements Task {
try (var stateInputStream = new BufferedInputStream(stateUrl.openStream())) {
var state = new StateReader().read(stateInputStream);
headerRepository.put(new Header(state.getSequenceNumber(), state.getTimestamp(),
- header.getReplicationUrl(), header.getSource(), header.getWritingProgram()));
+ header.replicationUrl(), header.source(), header.writingProgram()));
}
}
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/HeaderRepositoryTest.java b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/HeaderRepositoryTest.java
index 3897b5f5..7a1b4a4a 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/HeaderRepositoryTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/database/postgres/HeaderRepositoryTest.java
@@ -60,7 +60,7 @@ class HeaderRepositoryTest extends PostgresRepositoryTest {
@Tag("integration")
void insert() throws RepositoryException {
headerRepository.put(HEADER_0);
- assertEquals(HEADER_0, headerRepository.get(HEADER_0.getReplicationSequenceNumber()));
+ assertEquals(HEADER_0, headerRepository.get(HEADER_0.replicationSequenceNumber()));
}
@Test
@@ -69,15 +69,15 @@ class HeaderRepositoryTest extends PostgresRepositoryTest {
List<Header> headers = Arrays.asList(HEADER_0, HEADER_1, HEADER_2);
headerRepository.put(headers);
assertIterableEquals(headers, headerRepository.get(
- headers.stream().map(Header::getReplicationSequenceNumber).toList()));
+ headers.stream().map(Header::replicationSequenceNumber).toList()));
}
@Test
@Tag("integration")
void delete() throws RepositoryException {
headerRepository.put(HEADER_0);
- headerRepository.delete(HEADER_0.getReplicationSequenceNumber());
- assertNull(headerRepository.get(HEADER_0.getReplicationSequenceNumber()));
+ headerRepository.delete(HEADER_0.replicationSequenceNumber());
+ assertNull(headerRepository.get(HEADER_0.replicationSequenceNumber()));
}
@Test
@@ -86,9 +86,9 @@ class HeaderRepositoryTest extends PostgresRepositoryTest {
List<Header> headers = Arrays.asList(HEADER_0, HEADER_1, HEADER_2);
headerRepository.put(headers);
headerRepository.delete(
- headers.stream().map(Header::getReplicationSequenceNumber).toList());
+ headers.stream().map(Header::replicationSequenceNumber).toList());
assertIterableEquals(Arrays.asList(null, null, null), headerRepository.get(
- headers.stream().map(Header::getReplicationSequenceNumber).toList()));
+ headers.stream().map(Header::replicationSequenceNumber).toList()));
}
@Test
@@ -97,6 +97,6 @@ class HeaderRepositoryTest extends PostgresRepositoryTest {
List<Header> headers = Arrays.asList(HEADER_0, HEADER_1, HEADER_2);
headerRepository.copy(headers);
assertIterableEquals(headers, headerRepository.get(
- headers.stream().map(Header::getReplicationSequenceNumber).toList()));
+ headers.stream().map(Header::replicationSequenceNumber).toList()));
}
}
diff --git a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java
index 0942ebf7..b545d990 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportUpdateSampleTest.java
@@ -67,14 +67,14 @@ class ImportUpdateSampleTest extends PostgresRepositoryTest {
// Import the sample data
ImportOsmPbf.execute(TestFiles.SAMPLE_OSM_PBF, coordinateMap, referenceMap, headerRepository,
nodeRepository, wayRepository, relationRepository, srid);
- assertEquals(0, headerRepository.selectLatest().getReplicationSequenceNumber());
+ assertEquals(0, headerRepository.selectLatest().replicationSequenceNumber());
// Import the state file
try (var stateInput = Files.newInputStream(TestFiles.SAMPLE_STATE_TXT)) {
var state = new StateReader().read(stateInput);
headerRepository.put(new Header(state.getSequenceNumber(), state.getTimestamp(),
"file:///" + TestFiles.SAMPLE_DIR, "", ""));
- assertEquals(1, headerRepository.selectLatest().getReplicationSequenceNumber());
+ assertEquals(1, headerRepository.selectLatest().replicationSequenceNumber());
}
assertGeometryEquals(NODE_POINT_1, nodeRepository.get(1L).getGeometry(), 100);
assertGeometryEquals(WAY_LINESTRING_4, wayRepository.get(4L).getGeometry(), 100);
@@ -89,7 +89,7 @@ class ImportUpdateSampleTest extends PostgresRepositoryTest {
// Add elements to the database
UpdateOsmDatabase.execute(coordinateMap, referenceMap, headerRepository, nodeRepository,
wayRepository, relationRepository, srid, null);
- assertEquals(2, headerRepository.selectLatest().getReplicationSequenceNumber());
+ assertEquals(2, headerRepository.selectLatest().replicationSequenceNumber());
assertGeometryEquals(NODE_POINT_37, nodeRepository.get(37L).getGeometry(), 100);
assertGeometryEquals(WAY_LINESTRING_40, wayRepository.get(40L).getGeometry(), 100);
@@ -100,7 +100,7 @@ class ImportUpdateSampleTest extends PostgresRepositoryTest {
// Modify elements in the database
UpdateOsmDatabase.execute(coordinateMap, referenceMap, headerRepository, nodeRepository,
wayRepository, relationRepository, srid, null);
- assertEquals(3, headerRepository.selectLatest().getReplicationSequenceNumber());
+ assertEquals(3, headerRepository.selectLatest().replicationSequenceNumber());
assertGeometryEquals(NODE_POINT_1_MODIFIED, nodeRepository.get(1L).getGeometry(), 100);
assertGeometryEquals(WAY_LINESTRING_4_MODIFIED, wayRepository.get(4L).getGeometry(), 100);
assertGeometryEquals(WAY_POLYGON_9_MODIFIED, wayRepository.get(9L).getGeometry(), 100);
@@ -112,7 +112,7 @@ class ImportUpdateSampleTest extends PostgresRepositoryTest {
// Delete elements from the database
UpdateOsmDatabase.execute(coordinateMap, referenceMap, headerRepository, nodeRepository,
wayRepository, relationRepository, srid, null);
- assertEquals(4, headerRepository.selectLatest().getReplicationSequenceNumber());
+ assertEquals(4, headerRepository.selectLatest().replicationSequenceNumber());
assertNull(nodeRepository.get(1L));
assertNull(nodeRepository.get(4L));
assertNull(nodeRepository.get(9L));
diff --git a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Header.java b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Header.java
index f017220f..cf692df3 100644
--- a/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Header.java
+++ b/baremaps-openstreetmap/src/main/java/org/apache/baremaps/openstreetmap/model/Header.java
@@ -20,117 +20,13 @@ package org.apache.baremaps.openstreetmap.model;
import java.time.LocalDateTime;
-import java.util.Objects;
-import java.util.StringJoiner;
/** Represents a header entity in an OpenStreetMap dataset. */
public record Header(
- Long replicationSequenceNumber,
- LocalDateTime replicationTimestamp,
- String replicationUrl,
- String source,
- String writingProgram
-) implements Entity {
+ Long replicationSequenceNumber,
+ LocalDateTime replicationTimestamp,
+ String replicationUrl,
+ String source,
+ String writingProgram) implements Entity {
- private final Long replicationSequenceNumber;
- private final LocalDateTime replicationTimestamp;
- private final String replicationUrl;
- private final String source;
- private final String writingProgram;
-
- /**
- * Constructs an OpenStreetMap {@code Header} based on the specified parameters.
- *
- * @param replicationSequenceNumber the replication sequence number
- * @param replicationTimestamp the replication timestamp
- * @param replicationUrl the replication url
- * @param source the source
- * @param writingProgram the writing program
- */
- public Header(Long replicationSequenceNumber, LocalDateTime replicationTimestamp,
- String replicationUrl, String source, String writingProgram) {
- this.replicationTimestamp = replicationTimestamp;
- this.replicationSequenceNumber = replicationSequenceNumber;
- this.replicationUrl = replicationUrl;
- this.source = source;
- this.writingProgram = writingProgram;
- }
-
- /**
- * Returns the replication timestamp.
- *
- * @return the replication timestamp
- */
- public LocalDateTime getReplicationTimestamp() {
- return replicationTimestamp;
- }
-
- /**
- * Returns the replication sequence number.
- *
- * @return the replication sequence number
- */
- public Long getReplicationSequenceNumber() {
- return replicationSequenceNumber;
- }
-
- /**
- * Returns the replication url.
- *
- * @return the replication url
- */
- public String getReplicationUrl() {
- return replicationUrl;
- }
-
- /**
- * Returns the source.
- *
- * @return the source
- */
- public String getSource() {
- return source;
- }
-
- /**
- * Returns the writing program.
- *
- * @return the writing program
- */
- public String getWritingProgram() {
- return writingProgram;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (!(o instanceof Header)) {
- return false;
- }
- Header header = (Header) o;
- return Objects.equals(replicationTimestamp, header.replicationTimestamp)
- && Objects.equals(replicationSequenceNumber, header.replicationSequenceNumber)
- && Objects.equals(replicationUrl, header.replicationUrl)
- && Objects.equals(source, header.source)
- && Objects.equals(writingProgram, header.writingProgram);
- }
-
- /** {@inheritDoc} */
- @Override
- public int hashCode() {
- return Objects.hash(replicationTimestamp, replicationSequenceNumber, replicationUrl, source,
- writingProgram);
- }
-
- /** {@inheritDoc} */
- @Override
- public String toString() {
- return new StringJoiner(", ", Header.class.getSimpleName() + "[", "]")
- .add("replicationTimestamp=" + replicationTimestamp)
- .add("replicationSequenceNumber=" + replicationSequenceNumber)
- .add("replicationUrl='" + replicationUrl + "'").add("source='" + source + "'")
- .add("writingProgram='" + writingProgram + "'").toString();
- }
}
diff --git a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java
index 5d1b5d84..fdb51ca0 100644
--- a/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java
+++ b/baremaps-openstreetmap/src/test/java/org/apache/baremaps/openstreetmap/OsmSampleTest.java
@@ -75,7 +75,7 @@ class OsmSampleTest {
stream.forEach(entity -> {
if (entity instanceof Header header) {
Assertions.assertNotNull(header);
- Assertions.assertEquals("osmium/1.16.0", header.getWritingProgram());
+ Assertions.assertEquals("osmium/1.16.0", header.writingProgram());
headers.incrementAndGet();
} else if (entity instanceof Bound bound) {
Assertions.assertNotNull(bound);