From 5c6fdd9f2cac4dbe03a2b639460694ca40b859d1 Mon Sep 17 00:00:00 2001 From: Andrea Aime Date: Wed, 2 Sep 2026 15:19:34 +0900 Subject: [PATCH] Maplibre format support --- .../java/org/geowebcache/mime/ApplicationMime.java | 14 +++++++++++--- .../org/geowebcache/mime/ApplicationMimeTest.java | 13 +++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/geowebcache/core/src/main/java/org/geowebcache/mime/ApplicationMime.java b/geowebcache/core/src/main/java/org/geowebcache/mime/ApplicationMime.java index 2073cb7f87..5f2aa42ec9 100644 --- a/geowebcache/core/src/main/java/org/geowebcache/mime/ApplicationMime.java +++ b/geowebcache/core/src/main/java/org/geowebcache/mime/ApplicationMime.java @@ -51,10 +51,18 @@ public class ApplicationMime extends MimeType { "application/vnd.mapbox-vector-tile", true); - static Set ALL = ImmutableSet.of(bil16, bil32, json, topojson, geojson, utfgrid, mapboxVector); + public static final ApplicationMime maplibreVector = new ApplicationMime( + "application/vnd.maplibre-vector-tile", + "mlt", + "maplibre-vectortile", + "application/vnd.maplibre-vector-tile", + true); + + static Set ALL = + ImmutableSet.of(bil16, bil32, json, topojson, geojson, utfgrid, mapboxVector, maplibreVector); - private static final List BINARY_FORMATS = - Arrays.asList(bil16.mimeType, bil32.mimeType, mapboxVector.mimeType, utfgrid.mimeType); + private static final List BINARY_FORMATS = Arrays.asList( + bil16.mimeType, bil32.mimeType, mapboxVector.mimeType, maplibreVector.mimeType, utfgrid.mimeType); private static Map BY_FORMAT = Maps.uniqueIndex(ALL, mimeType -> mimeType.getFormat()); diff --git a/geowebcache/core/src/test/java/org/geowebcache/mime/ApplicationMimeTest.java b/geowebcache/core/src/test/java/org/geowebcache/mime/ApplicationMimeTest.java index 4e9d459432..952b1ac0e3 100644 --- a/geowebcache/core/src/test/java/org/geowebcache/mime/ApplicationMimeTest.java +++ b/geowebcache/core/src/test/java/org/geowebcache/mime/ApplicationMimeTest.java @@ -1,7 +1,9 @@ package org.geowebcache.mime; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.Collection; @@ -55,5 +57,16 @@ public void testMapboxLegacyFormat() throws MimeException { MimeType mime = MimeType.createFromFormat(ApplicationMime.MAPBOX_TILES_LEGACY_MIME); assertNotNull(mime); } + + @Test + public void testMapLibreVectorFormat() throws MimeException { + MimeType mime = MimeType.createFromFormat("application/vnd.maplibre-vector-tile"); + assertEquals(ApplicationMime.maplibreVector, mime); + assertEquals("mlt", mime.getFileExtension()); + assertEquals("maplibre-vectortile", mime.getInternalName()); + assertTrue(mime.isVector()); + assertTrue(mime.isBinary()); + assertFalse(mime.isInlinePreferred()); + } } }