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

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


The following commit(s) were added to refs/heads/main by this push:
     new be499e3d Expose the tileset and the SQL queries in dev mode (#772)
be499e3d is described below

commit be499e3d8aaec78a4ea3fa277f05a8d66b0bc8bd
Author: Bertil Chapuis <[email protected]>
AuthorDate: Wed Sep 6 08:53:43 2023 +0200

    Expose the tileset and the SQL queries in dev mode (#772)
    
    * Expose the tileset and the SQL queries in dev mode
    
    * Fix build script
    
    * Hide the jdbc connection
---
 .../src/main/java/org/apache/baremaps/cli/map/Dev.java |  7 +++----
 .../main/java/org/apache/baremaps/cli/map/Serve.java   |  2 +-
 .../{TilesetResource.java => TileJSONResource.java}    |  6 +++---
 .../org/apache/baremaps/server/TilesetResource.java    | 18 +++++++++++-------
 scripts/build-project.sh                               |  3 +++
 5 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Dev.java 
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Dev.java
index 2c54f526..1813823b 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Dev.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Dev.java
@@ -29,7 +29,6 @@ import org.apache.baremaps.tilestore.TileStore;
 import org.apache.baremaps.tilestore.postgres.PostgresTileStore;
 import org.apache.baremaps.utils.PostgresUtils;
 import org.apache.baremaps.vectortile.style.Style;
-import org.apache.baremaps.vectortile.tilejson.TileJSON;
 import org.apache.baremaps.vectortile.tileset.Tileset;
 import org.glassfish.hk2.api.TypeLiteral;
 import org.glassfish.hk2.utilities.binding.AbstractBinder;
@@ -93,11 +92,11 @@ public class Dev implements Callable<Integer> {
       }
     };
 
-    var tileJSONSupplierType = new TypeLiteral<Supplier<TileJSON>>() {};
-    var tileJSONSupplier = (Supplier<TileJSON>) () -> {
+    var tileJSONSupplierType = new TypeLiteral<Supplier<Tileset>>() {};
+    var tileJSONSupplier = (Supplier<Tileset>) () -> {
       try {
         var config = configReader.read(tilesetPath);
-        return objectMapper.readValue(config, TileJSON.class);
+        return objectMapper.readValue(config, Tileset.class);
       } catch (IOException e) {
         throw new RuntimeException(e);
       }
diff --git a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Serve.java 
b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Serve.java
index 62978214..f4a47619 100644
--- a/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Serve.java
+++ b/baremaps-cli/src/main/java/org/apache/baremaps/cli/map/Serve.java
@@ -92,7 +92,7 @@ public class Serve implements Callable<Integer> {
             .register(CorsFilter.class)
             .register(TileResource.class)
             .register(StyleResource.class)
-            .register(TilesetResource.class)
+            .register(TileJSONResource.class)
             .register(ClassPathResource.class)
             .register(newContextResolver(objectMapper))
             .register(new AbstractBinder() {
diff --git 
a/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java 
b/baremaps-server/src/main/java/org/apache/baremaps/server/TileJSONResource.java
similarity index 88%
copy from 
baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java
copy to 
baremaps-server/src/main/java/org/apache/baremaps/server/TileJSONResource.java
index 8b968416..5bb8b57d 100644
--- 
a/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java
+++ 
b/baremaps-server/src/main/java/org/apache/baremaps/server/TileJSONResource.java
@@ -21,16 +21,16 @@ import javax.ws.rs.core.MediaType;
 import org.apache.baremaps.vectortile.tilejson.TileJSON;
 
 /**
- * A resource that provides access to the tileset.
+ * A resource that provides access to the tileJSON file.
  */
 @Singleton
 @javax.ws.rs.Path("/")
-public class TilesetResource {
+public class TileJSONResource {
 
   private final Supplier<TileJSON> tileJSONSupplier;
 
   @Inject
-  public TilesetResource(Supplier<TileJSON> tileJSONSupplier) {
+  public TileJSONResource(Supplier<TileJSON> tileJSONSupplier) {
     this.tileJSONSupplier = tileJSONSupplier;
   }
 
diff --git 
a/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java 
b/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java
index 8b968416..989ef6bd 100644
--- 
a/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java
+++ 
b/baremaps-server/src/main/java/org/apache/baremaps/server/TilesetResource.java
@@ -18,27 +18,31 @@ import javax.inject.Singleton;
 import javax.ws.rs.GET;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
-import org.apache.baremaps.vectortile.tilejson.TileJSON;
+import org.apache.baremaps.vectortile.tileset.Tileset;
 
 /**
- * A resource that provides access to the tileset.
+ * A resource that provides access to the tileset file. Only suitable for 
development purposes, as
+ * it exposes SQL queries.
  */
 @Singleton
 @javax.ws.rs.Path("/")
 public class TilesetResource {
 
-  private final Supplier<TileJSON> tileJSONSupplier;
+  private final Supplier<Tileset> tilesetSupplier;
 
   @Inject
-  public TilesetResource(Supplier<TileJSON> tileJSONSupplier) {
-    this.tileJSONSupplier = tileJSONSupplier;
+  public TilesetResource(Supplier<Tileset> tilesetSupplier) {
+    this.tilesetSupplier = tilesetSupplier;
   }
 
   @GET
   @javax.ws.rs.Path("tiles.json")
   @Produces(MediaType.APPLICATION_JSON)
-  public TileJSON getTileset() {
-    return tileJSONSupplier.get();
+  public Tileset getTileset() {
+    var tileset = tilesetSupplier.get();
+    // Hide the database connection
+    tileset.setDatabase(null);
+    return tileset;
   }
 
 }
diff --git a/scripts/build-project.sh b/scripts/build-project.sh
index 3da24e12..0b9b3355 100755
--- a/scripts/build-project.sh
+++ b/scripts/build-project.sh
@@ -10,6 +10,9 @@
 # or implied. See the License for the specific language governing permissions 
and limitations under
 # the License.
 
+DIR="$(dirname "$0")"
+cd "$DIR" || exit
+
 echo ""
 echo "--------------------------------------------------------------------"
 echo "Build the project"

Reply via email to