This is an automated email from the ASF dual-hosted git repository.

bchapuis pushed a commit to branch 745-daylight
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git


The following commit(s) were added to refs/heads/745-daylight by this push:
     new bbe4252b Make the replacement of tables optional
bbe4252b is described below

commit bbe4252bdccd2e497ad4dbefa7e7aef88ac82460
Author: Bertil Chapuis <[email protected]>
AuthorDate: Fri Oct 27 22:28:20 2023 +0200

    Make the replacement of tables optional
---
 .../apache/baremaps/cli/database/ImportOsmPbf.java |  3 ++-
 .../baremaps/workflow/tasks/ImportOsmPbf.java      | 22 +++++++++++-----------
 .../apache/baremaps/workflow/ObjectMapperTest.java |  2 +-
 .../org/apache/baremaps/workflow/WorkflowTest.java |  2 +-
 .../baremaps/workflow/tasks/ImportPbfTest.java     |  2 +-
 basemap/workflow.js                                |  3 ++-
 daylight/workflow.js                               |  6 ++++--
 7 files changed, 22 insertions(+), 18 deletions(-)

diff --git 
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ImportOsmPbf.java 
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ImportOsmPbf.java
index 71249f05..57247694 100644
--- 
a/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ImportOsmPbf.java
+++ 
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/database/ImportOsmPbf.java
@@ -50,7 +50,8 @@ public class ImportOsmPbf implements Callable<Integer> {
     new org.apache.baremaps.workflow.tasks.ImportOsmPbf(
         file.toAbsolutePath(),
         database,
-        srid).execute(new WorkflowContext());
+        srid,
+            true).execute(new WorkflowContext());
     return 0;
   }
 }
diff --git 
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java
 
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java
index 14398fa3..c8697fba 100644
--- 
a/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java
+++ 
b/baremaps-core/src/main/java/org/apache/baremaps/workflow/tasks/ImportOsmPbf.java
@@ -46,7 +46,7 @@ import org.locationtech.jts.geom.Coordinate;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public record ImportOsmPbf(Path file, Object database, Integer databaseSrid)
+public record ImportOsmPbf(Path file, Object database, Integer databaseSrid, 
Boolean replaceTables)
     implements
       Task {
 
@@ -62,16 +62,16 @@ public record ImportOsmPbf(Path file, Object database, 
Integer databaseSrid)
     var wayRepository = new PostgresWayRepository(dataSource);
     var relationRepository = new PostgresRelationRepository(dataSource);
 
-    headerRepository.drop();
-    nodeRepository.drop();
-    wayRepository.drop();
-    relationRepository.drop();
-
-    headerRepository.create();
-    nodeRepository.create();
-    wayRepository.create();
-    relationRepository.create();
-
+    if (replaceTables) {
+      headerRepository.drop();
+      nodeRepository.drop();
+      wayRepository.drop();
+      relationRepository.drop();
+      headerRepository.create();
+      nodeRepository.create();
+      wayRepository.create();
+      relationRepository.create();
+    }
     var cacheDir = Files.createTempDirectory(Paths.get("."), "cache_");
 
     DataMap<Long, Coordinate> coordinateMap;
diff --git 
a/baremaps-core/src/test/java/org/apache/baremaps/workflow/ObjectMapperTest.java
 
b/baremaps-core/src/test/java/org/apache/baremaps/workflow/ObjectMapperTest.java
index 041f024a..0b7ed9c0 100644
--- 
a/baremaps-core/src/test/java/org/apache/baremaps/workflow/ObjectMapperTest.java
+++ 
b/baremaps-core/src/test/java/org/apache/baremaps/workflow/ObjectMapperTest.java
@@ -43,7 +43,7 @@ public class ObjectMapperTest {
             new Step("import", List.of("download"),
                 List.of(new 
ImportOsmPbf(Paths.get("liechtenstein-latest.osm.pbf"),
                     
"jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps",
-                    3857)))));
+                    3857, true)))));
     var json = mapper.writeValueAsString(workflow1);
     assertTrue(json.contains(DownloadUrl.class.getSimpleName()));
     assertTrue(json.contains(ImportOsmPbf.class.getSimpleName()));
diff --git 
a/baremaps-core/src/test/java/org/apache/baremaps/workflow/WorkflowTest.java 
b/baremaps-core/src/test/java/org/apache/baremaps/workflow/WorkflowTest.java
index 408930b9..7591c2de 100644
--- a/baremaps-core/src/test/java/org/apache/baremaps/workflow/WorkflowTest.java
+++ b/baremaps-core/src/test/java/org/apache/baremaps/workflow/WorkflowTest.java
@@ -104,7 +104,7 @@ class WorkflowTest extends PostgresContainerTest {
                 Paths.get("downloads/liechtenstein.osm.pbf")))),
         new Step("import-osmpbf", List.of("fetch-osmpbf"),
             List.of(new 
ImportOsmPbf(Paths.get("downloads/liechtenstein.osm.pbf"), jdbcUrl(),
-                3857))),
+                3857, true))),
         new Step("fetch-shapefile", List.of(), List.of(new DownloadUrl(
             
"https://osmdata.openstreetmap.de/download/simplified-water-polygons-split-3857.zip";,
             Paths.get("downloads/simplified-water-polygons-split-3857.zip")))),
diff --git 
a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportPbfTest.java
 
b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportPbfTest.java
index 8750c2ef..4a913bc5 100644
--- 
a/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportPbfTest.java
+++ 
b/baremaps-core/src/test/java/org/apache/baremaps/workflow/tasks/ImportPbfTest.java
@@ -33,7 +33,7 @@ class ImportOsmPbfTest extends PostgresContainerTest {
     var file = TestFiles.resolve("data.osm.pbf");
     var jdbcUrl = jdbcUrl();
     var srid = 3857;
-    var task = new ImportOsmPbf(file, jdbcUrl, srid);
+    var task = new ImportOsmPbf(file, jdbcUrl, srid, true);
     task.execute(new WorkflowContext());
   }
 }
diff --git a/basemap/workflow.js b/basemap/workflow.js
index be7c2e0f..4b91c0a1 100644
--- a/basemap/workflow.js
+++ b/basemap/workflow.js
@@ -130,7 +130,8 @@ export default {
           "type": "ImportOsmPbf",
           "file": "data/data.osm.pbf",
           "database": config.database,
-          "databaseSrid": 3857
+          "databaseSrid": 3857,
+          "replaceTables": true,
         },
       ]
     },
diff --git a/daylight/workflow.js b/daylight/workflow.js
index 92b59048..08a5889b 100644
--- a/daylight/workflow.js
+++ b/daylight/workflow.js
@@ -27,7 +27,8 @@ export default {
           "type": "ImportOsmPbf",
           "file": "data/data.osm.pbf",
           "database": config.database,
-          "databaseSrid": 3857
+          "databaseSrid": 3857,
+          "replaceTables": true,
         },
       ]
     },
@@ -44,7 +45,8 @@ export default {
           "type": "ImportOsmPbf",
           "file": "data/buildings.osm.pbf",
           "database": config.database,
-          "databaseSrid": 3857
+          "databaseSrid": 3857,
+          "replaceTables": false,
         },
       ]
     },

Reply via email to