├── .gitattributes ├── .github └── workflows │ ├── azure-integration.yml │ ├── backport.yml │ ├── integration.yml │ ├── linux.yml │ ├── macos.yml │ └── windows.yml ├── .gitignore ├── README.md ├── RELEASE_NOTES.txt ├── appveyor.yml ├── documentation └── en │ ├── .gitignore │ ├── README.md │ ├── build.xml │ ├── index.html │ ├── requirements.txt │ ├── theme │ ├── _static │ │ ├── blueprint │ │ │ ├── AUTHORS │ │ │ ├── LICENSE │ │ │ ├── ie.css │ │ │ ├── print.css │ │ │ └── screen.css │ │ ├── chrome │ │ │ ├── content-bg.png │ │ │ ├── download-link.png │ │ │ ├── file.png │ │ │ ├── footer-bg.png │ │ │ ├── geowebcache-logo.png │ │ │ ├── header-bg.png │ │ │ ├── main-bg.png │ │ │ ├── search-box.png │ │ │ ├── search_icon_green.png │ │ │ ├── toc-contrast-bg.gif │ │ │ ├── toc-contrast-bg.png │ │ │ └── toc-contrast-top-bg.png │ │ ├── default.css │ │ ├── doctools.js │ │ ├── geowebcache.ico │ │ ├── jquery.js │ │ └── searchtools.js │ └── _templates │ │ └── layout.html │ └── user │ ├── .gitignore │ ├── Makefile │ ├── make.bat │ └── source │ ├── concepts │ ├── gridsets.rst │ ├── img │ │ ├── duplicate_labels.png │ │ ├── gridset_bl.png │ │ ├── gridset_boundingbox.png │ │ ├── gridset_tl.png │ │ ├── gridsubset_boundingbox.png │ │ ├── gridsubset_tiles.png │ │ └── metatile.png │ ├── index.rst │ ├── metatiles.rst │ ├── operations.rst │ ├── stores.rst │ └── tiles.rst │ ├── conf.py │ ├── configuration │ ├── diskquotas.rst │ ├── index.rst │ ├── layers │ │ ├── arcgis_tiling_scheme_structure.png │ │ ├── arcgistilingschemes.rst │ │ ├── examples.rst │ │ ├── expiretiles.rst │ │ ├── georss.rst │ │ ├── gridsets.rst │ │ ├── howto.rst │ │ ├── index.rst │ │ ├── palettes.rst │ │ ├── parameterfilters.rst │ │ ├── projections.rst │ │ ├── requestfilters.rst │ │ ├── requestmode.rst │ │ ├── selectivezoom.rst │ │ ├── staticcaps.rst │ │ └── styleslegends.rst │ ├── reload.rst │ ├── security.rst │ ├── services.rst │ ├── storage.rst │ └── storage_blobstore_schema.txt │ ├── development │ ├── img │ │ └── intelij-run.png │ └── index.rst │ ├── faq │ └── index.rst │ ├── index.rst │ ├── installation │ ├── geowebcache.rst │ ├── index.rst │ ├── prerequisites │ │ ├── index.rst │ │ ├── linux.rst │ │ ├── macosx.rst │ │ └── windows.rst │ └── upgrading.rst │ ├── introduction │ ├── architecture.rst │ ├── community.rst │ ├── how_it_works.png │ ├── index.rst │ ├── request_overview.odg │ ├── request_overview.png │ ├── whatis.rst │ └── whichgwc.rst │ ├── production │ └── index.rst │ ├── quickstart │ └── index.rst │ ├── rest │ ├── blobstores.rst │ ├── diskquota.rst │ ├── global.rst │ ├── gridsets.rst │ ├── index.rst │ ├── layers.rst │ ├── masstruncate.rst │ ├── representations │ │ ├── blobstore_json.txt │ │ ├── blobstore_xml.txt │ │ ├── diskquota_json.txt │ │ ├── diskquota_xml.txt │ │ ├── global_json.txt │ │ ├── global_xml.txt │ │ ├── gridset_json.txt │ │ ├── gridset_xml.txt │ │ ├── seed_json.txt │ │ ├── seed_xml.txt │ │ ├── wmslayer.xml.txt │ │ └── wmslayer_minimal.xml.txt │ ├── seed.rst │ └── statistics.rst │ ├── services │ ├── bingmaps.rst │ ├── gmaps.rst │ ├── index.rst │ ├── kml.rst │ ├── mobilegmaps.rst │ ├── responseheaders.rst │ ├── tms.rst │ ├── wms.rst │ └── wmts.rst │ ├── troubleshooting │ └── index.rst │ └── webinterface │ ├── demo.rst │ ├── index.rst │ ├── seed.rst │ └── status.rst └── geowebcache ├── .mvn └── jvm.config ├── LICENSE.txt ├── arcgiscache ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── arcgis │ │ ├── compact │ │ ├── ArcGISCompactCache.java │ │ ├── ArcGISCompactCacheV1.java │ │ ├── ArcGISCompactCacheV2.java │ │ ├── BundleFileResource.java │ │ └── BundlxCache.java │ │ ├── config │ │ ├── CacheInfo.java │ │ ├── CacheInfoPersister.java │ │ ├── CacheStorageInfo.java │ │ ├── EnvelopeN.java │ │ ├── LODInfo.java │ │ ├── SpatialReference.java │ │ ├── TileCacheInfo.java │ │ ├── TileImageInfo.java │ │ └── TileOrigin.java │ │ └── layer │ │ ├── ArcGISCacheGridsetConfiguration.java │ │ ├── ArcGISCacheLayer.java │ │ ├── ArcGISLayerXMLConfigurationProvider.java │ │ └── GridSetBuilder.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── arcgis │ │ ├── compact │ │ └── ArcGISCompactCacheTest.java │ │ ├── config │ │ └── CacheInfoPersisterTest.java │ │ └── layer │ │ ├── ArcGISCacheLayerTest.java │ │ ├── ArcGISLayerXMLConfigurationProviderTest.java │ │ ├── GridSetBuilderTest.java │ │ └── XMLConfigurationLayerConformanceWithArcGisLayersTest.java │ └── resources │ ├── arcgis_09.2_conf.xml │ ├── arcgis_09.3_conf.xml │ ├── arcgis_10.0_conf.xml │ ├── arcgis_10.1_conf.xml │ ├── compactcache │ ├── Conf.xml │ ├── _alllayers │ │ ├── L05 │ │ │ ├── R0000C0000.bundle │ │ │ └── R0000C0000.bundlx │ │ └── L06 │ │ │ ├── R0000C0000.bundle │ │ │ └── R0000C0000.bundlx │ └── conf.cdi │ ├── compactcacheV2 │ ├── Conf.xml │ ├── _alllayers │ │ ├── L04 │ │ │ └── R0000C0000.bundle │ │ └── L05 │ │ │ └── R0000C0000.bundle │ └── conf.cdi │ ├── logging.properties │ └── org │ └── geowebcache │ └── arcgis │ └── layer │ └── geowebcache.xml ├── azureblob ├── REAME.md ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── azure │ │ ├── AzureBlobStore.java │ │ ├── AzureBlobStoreConfigProvider.java │ │ ├── AzureBlobStoreData.java │ │ ├── AzureBlobStoreInfo.java │ │ ├── AzureClient.java │ │ └── DeleteManager.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ ├── azure │ │ ├── AzureBlobStoreConfigProviderTest.java │ │ ├── AzureBlobStoreConformanceTest.java │ │ ├── AzureBlobStoreDataTest.java │ │ ├── AzureBlobStoreIntegrationTest.java │ │ ├── AzureBlobStoreSuitabilityTest.java │ │ └── tests │ │ │ ├── container │ │ │ ├── AzuriteAzureBlobStoreConformanceIT.java │ │ │ ├── AzuriteAzureBlobStoreIntegrationIT.java │ │ │ └── AzuriteAzureBlobStoreSuitabilityIT.java │ │ │ └── online │ │ │ ├── OnlineAzureBlobStoreConformanceIT.java │ │ │ ├── OnlineAzureBlobStoreIntegrationIT.java │ │ │ ├── OnlineAzureBlobStoreSuitabilityIT.java │ │ │ ├── PropertiesLoader.java │ │ │ └── TemporaryAzureFolder.java │ │ └── testcontainers │ │ └── azure │ │ └── AzuriteContainer.java │ └── resources │ ├── appContextTestAzure.xml │ ├── logging.properties │ └── org │ └── geowebcache │ └── azure │ └── blobstore.xml ├── checkstyle.xml ├── core ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── geowebcache │ │ │ ├── ClientStreamAbortedException.java │ │ │ ├── DispatcherOutputStream.java │ │ │ ├── GeoWebCache.java │ │ │ ├── GeoWebCacheDispatcher.java │ │ │ ├── GeoWebCacheEnvironment.java │ │ │ ├── GeoWebCacheException.java │ │ │ ├── GeoWebCacheExtensionPriority.java │ │ │ ├── GeoWebCacheExtensions.java │ │ │ ├── ReinitializingBean.java │ │ │ ├── UncheckedGeoWebCacheException.java │ │ │ ├── config │ │ │ ├── BaseConfiguration.java │ │ │ ├── BlobStoreConfiguration.java │ │ │ ├── BlobStoreConfigurationListener.java │ │ │ ├── BlobStoreInfo.java │ │ │ ├── ConfigurationAggregator.java │ │ │ ├── ConfigurationException.java │ │ │ ├── ConfigurationPersistenceException.java │ │ │ ├── ConfigurationResourceProvider.java │ │ │ ├── ContextualConfigurationProvider.java │ │ │ ├── DefaultGridsets.java │ │ │ ├── DefaultingConfiguration.java │ │ │ ├── FileBlobStoreInfo.java │ │ │ ├── GeoWebCacheConfiguration.java │ │ │ ├── GridSetConfiguration.java │ │ │ ├── Info.java │ │ │ ├── ListenerCollection.java │ │ │ ├── ServerConfiguration.java │ │ │ ├── SimpleGridSetConfiguration.java │ │ │ ├── TileLayerConfiguration.java │ │ │ ├── XMLConfiguration.java │ │ │ ├── XMLConfigurationProvider.java │ │ │ ├── XMLFileResourceProvider.java │ │ │ ├── XMLGridSet.java │ │ │ ├── XMLGridSubset.java │ │ │ ├── XMLOldGrid.java │ │ │ ├── legends │ │ │ │ ├── LegendInfo.java │ │ │ │ ├── LegendInfoBuilder.java │ │ │ │ ├── LegendRawInfo.java │ │ │ │ ├── LegendsRawInfo.java │ │ │ │ └── LegendsRawInfoConverter.java │ │ │ └── meta │ │ │ │ ├── ServiceContact.java │ │ │ │ ├── ServiceInformation.java │ │ │ │ └── ServiceProvider.java │ │ │ ├── controller │ │ │ └── GeoWebCacheDispatcherController.java │ │ │ ├── conveyor │ │ │ ├── Conveyor.java │ │ │ └── ConveyorTile.java │ │ │ ├── demo │ │ │ └── Demo.java │ │ │ ├── filter │ │ │ ├── parameters │ │ │ │ ├── CaseNormalizer.java │ │ │ │ ├── CaseNormalizingParameterFilter.java │ │ │ │ ├── FloatParameterFilter.java │ │ │ │ ├── IntegerParameterFilter.java │ │ │ │ ├── ParameterException.java │ │ │ │ ├── ParameterFilter.java │ │ │ │ ├── ParametersUtils.java │ │ │ │ ├── RegexParameterFilter.java │ │ │ │ └── StringParameterFilter.java │ │ │ ├── request │ │ │ │ ├── BlankTileException.java │ │ │ │ ├── CircularExtentFilter.java │ │ │ │ ├── FileRasterFilter.java │ │ │ │ ├── GreenTileException.java │ │ │ │ ├── RasterFilter.java │ │ │ │ ├── RequestFilter.java │ │ │ │ ├── RequestFilterException.java │ │ │ │ └── WMSRasterFilter.java │ │ │ └── security │ │ │ │ ├── SecurityDispatcher.java │ │ │ │ └── SecurityFilter.java │ │ │ ├── grid │ │ │ ├── BoundingBox.java │ │ │ ├── BoundingBoxException.java │ │ │ ├── Grid.java │ │ │ ├── GridAlignmentMismatchException.java │ │ │ ├── GridCoverage.java │ │ │ ├── GridMismatchException.java │ │ │ ├── GridSet.java │ │ │ ├── GridSetBroker.java │ │ │ ├── GridSetFactory.java │ │ │ ├── GridSubset.java │ │ │ ├── GridSubsetFactory.java │ │ │ ├── GridUtil.java │ │ │ ├── OutsideCoverageException.java │ │ │ ├── ResolutionMismatchException.java │ │ │ ├── SRS.java │ │ │ └── TileDimensionsMismatchException.java │ │ │ ├── io │ │ │ ├── ByteArrayResource.java │ │ │ ├── CollectionConverter.java │ │ │ ├── FileResource.java │ │ │ ├── GeoWebCacheXStream.java │ │ │ ├── Resource.java │ │ │ ├── TreeMapConverter.java │ │ │ ├── TreeSetConverter.java │ │ │ └── XMLBuilder.java │ │ │ ├── layer │ │ │ ├── AbstractTileLayer.java │ │ │ ├── BadTileException.java │ │ │ ├── EmptyTileException.java │ │ │ ├── ExpirationRule.java │ │ │ ├── LayerListenerList.java │ │ │ ├── MetaTile.java │ │ │ ├── ProxyLayer.java │ │ │ ├── ResourceImageInputStream.java │ │ │ ├── SecurityDispatcherTileLayerDispatcherFilter.java │ │ │ ├── TileJSONProvider.java │ │ │ ├── TileLayer.java │ │ │ ├── TileLayerDispatcher.java │ │ │ ├── TileLayerDispatcherFilter.java │ │ │ ├── TileLayerListener.java │ │ │ ├── TileResponseReceiver.java │ │ │ ├── meta │ │ │ │ ├── ContactInformation.java │ │ │ │ ├── LayerMetaInformation.java │ │ │ │ ├── MetadataURL.java │ │ │ │ ├── TileJSON.java │ │ │ │ └── VectorLayerMetadata.java │ │ │ ├── updatesource │ │ │ │ ├── GeoRSSFeedDefinition.java │ │ │ │ └── UpdateSourceDefinition.java │ │ │ └── wms │ │ │ │ ├── WMSHttpHelper.java │ │ │ │ ├── WMSLayer.java │ │ │ │ ├── WMSMetaTile.java │ │ │ │ └── WMSSourceHelper.java │ │ │ ├── locks │ │ │ ├── LockProvider.java │ │ │ ├── MemoryLockProvider.java │ │ │ ├── NIOLockProvider.java │ │ │ └── NoOpLockProvider.java │ │ │ ├── mime │ │ │ ├── ApplicationMime.java │ │ │ ├── ErrorMime.java │ │ │ ├── FormatModifier.java │ │ │ ├── ImageMime.java │ │ │ ├── MimeException.java │ │ │ ├── MimeType.java │ │ │ ├── TextMime.java │ │ │ └── XMLMime.java │ │ │ ├── proxy │ │ │ └── ProxyDispatcher.java │ │ │ ├── seed │ │ │ ├── GWCTask.java │ │ │ ├── MTSeeder.java │ │ │ ├── MassTruncateRequest.java │ │ │ ├── SeedRequest.java │ │ │ ├── SeedTask.java │ │ │ ├── SeederException.java │ │ │ ├── SeederThreadPoolExecutor.java │ │ │ ├── TileBreeder.java │ │ │ ├── TruncateAllRequest.java │ │ │ ├── TruncateBboxRequest.java │ │ │ ├── TruncateLayerRequest.java │ │ │ ├── TruncateOrphansRequest.java │ │ │ ├── TruncateParametersRequest.java │ │ │ └── TruncateTask.java │ │ │ ├── service │ │ │ ├── HttpErrorCodeException.java │ │ │ ├── OWSException.java │ │ │ ├── Service.java │ │ │ └── ServiceException.java │ │ │ ├── stats │ │ │ └── RuntimeStats.java │ │ │ ├── storage │ │ │ ├── BlobStore.java │ │ │ ├── BlobStoreAggregator.java │ │ │ ├── BlobStoreListener.java │ │ │ ├── BlobStoreListenerList.java │ │ │ ├── CompositeBlobStore.java │ │ │ ├── DefaultStorageBroker.java │ │ │ ├── DefaultStorageFinder.java │ │ │ ├── DiscontinuousTileRange.java │ │ │ ├── MetastoreRemover.java │ │ │ ├── RasterMask.java │ │ │ ├── StorageBroker.java │ │ │ ├── StorageException.java │ │ │ ├── StorageObject.java │ │ │ ├── TileObject.java │ │ │ ├── TileRange.java │ │ │ ├── TileRangeIterator.java │ │ │ ├── TileRangeMask.java │ │ │ ├── TransientCache.java │ │ │ ├── UnsuitableStorageException.java │ │ │ └── blobstore │ │ │ │ ├── file │ │ │ │ ├── DefaultFilePathFilter.java │ │ │ │ ├── DefaultFilePathGenerator.java │ │ │ │ ├── FileBlobStore.java │ │ │ │ ├── FilePathGenerator.java │ │ │ │ ├── FilePathUtils.java │ │ │ │ ├── LayerMetadataStore.java │ │ │ │ ├── TempFileNameGenerator.java │ │ │ │ ├── TileFileVisitor.java │ │ │ │ ├── XYZFilePathFilter.java │ │ │ │ └── XYZFilePathGenerator.java │ │ │ │ └── memory │ │ │ │ ├── CacheConfiguration.java │ │ │ │ ├── CacheProvider.java │ │ │ │ ├── CacheStatistics.java │ │ │ │ ├── MemoryBlobStore.java │ │ │ │ ├── NullBlobStore.java │ │ │ │ └── guava │ │ │ │ └── GuavaCacheProvider.java │ │ │ └── util │ │ │ ├── AccountingOutputStream.java │ │ │ ├── ApplicationContextProvider.java │ │ │ ├── ByteUtils.java │ │ │ ├── CompositeIterable.java │ │ │ ├── CompositeIterator.java │ │ │ ├── ExceptionUtils.java │ │ │ ├── FileUtils.java │ │ │ ├── GWCVars.java │ │ │ ├── HttpClientBuilder.java │ │ │ ├── IOUtils.java │ │ │ ├── LoggingContextListener.java │ │ │ ├── NullURLMangler.java │ │ │ ├── ResponseUtils.java │ │ │ ├── ServletUtils.java │ │ │ ├── Sleeper.java │ │ │ ├── SuppressFBWarnings.java │ │ │ ├── TMSKeyBuilder.java │ │ │ ├── URLMangler.java │ │ │ └── URLs.java │ └── resources │ │ ├── examples │ │ ├── fileRasterFilterUpdateTest.zip │ │ ├── layerTest.json │ │ ├── layerTest.xml │ │ ├── raster_request_filter.sld │ │ ├── seedtest.json │ │ ├── seedtest.xml │ │ ├── truncatetest.json │ │ └── wmsRasterFilterUpdateTest.xml │ │ ├── geowebcache.xml │ │ ├── geowebcache_cite.xml │ │ ├── geowebcache_empty.xml │ │ └── org │ │ └── geowebcache │ │ ├── blank.png │ │ ├── config │ │ ├── geowebcache.xsd │ │ ├── geowebcache_10.xsl │ │ ├── geowebcache_100.xsd │ │ ├── geowebcache_100.xsl │ │ ├── geowebcache_101.xsl │ │ ├── geowebcache_102.xsl │ │ ├── geowebcache_110.xsd │ │ ├── geowebcache_110.xsl │ │ ├── geowebcache_1100.xsd │ │ ├── geowebcache_1110.xsd │ │ ├── geowebcache_1120.xsd │ │ ├── geowebcache_113.xsd │ │ ├── geowebcache_113.xsl │ │ ├── geowebcache_1130.xsd │ │ ├── geowebcache_114.xsl │ │ ├── geowebcache_1140.xsd │ │ ├── geowebcache_115.xsd │ │ ├── geowebcache_115.xsl │ │ ├── geowebcache_1150.xsd │ │ ├── geowebcache_1170.xsd │ │ ├── geowebcache_1180.xsd │ │ ├── geowebcache_1190.xsd │ │ ├── geowebcache_120.xsd │ │ ├── geowebcache_120.xsl │ │ ├── geowebcache_1200.xsd │ │ ├── geowebcache_121.xsd │ │ ├── geowebcache_121.xsl │ │ ├── geowebcache_1210.xsd │ │ ├── geowebcache_122.xsd │ │ ├── geowebcache_122.xsl │ │ ├── geowebcache_1220.xsd │ │ ├── geowebcache_1230.xsd │ │ ├── geowebcache_124.xsd │ │ ├── geowebcache_124.xsl │ │ ├── geowebcache_1240.xsd │ │ ├── geowebcache_125.xsl │ │ ├── geowebcache_1250.xsd │ │ ├── geowebcache_126.xsd │ │ ├── geowebcache_126.xsl │ │ ├── geowebcache_1260.xsd │ │ ├── geowebcache_150.xsd │ │ ├── geowebcache_150.xsl │ │ ├── geowebcache_151.xsd │ │ ├── geowebcache_151.xsl │ │ ├── geowebcache_153.xsd │ │ ├── geowebcache_160.xsd │ │ ├── geowebcache_161.xsd │ │ ├── geowebcache_170.xsd │ │ ├── geowebcache_180.xsd │ │ ├── geowebcache_190.xsd │ │ └── geowebcache_pre10.xsl │ │ ├── filter │ │ └── request │ │ │ └── green.png │ │ ├── grid │ │ ├── EPSG_4326.xml │ │ ├── OSGEO_GoogleMapsCompatible.xml │ │ ├── WMTS_1.0_GlobalCRS84Pixel.xml │ │ ├── WMTS_1.0_GolabCRS84Scale.xml │ │ ├── WMTS_1.0_GoogleCRS84Quad.xml │ │ └── WMTS_1.0_GoogleMapsCompatible.xml │ │ └── rest │ │ └── webresources │ │ ├── demo.js │ │ ├── geowebcache_logo.png │ │ ├── gwc.css │ │ ├── openlayers │ │ ├── OpenLayers.js │ │ ├── img │ │ │ ├── blank.gif │ │ │ ├── close.gif │ │ │ ├── drag-rectangle-off.png │ │ │ ├── drag-rectangle-on.png │ │ │ ├── east-mini.png │ │ │ ├── layer-switcher-maximize.png │ │ │ ├── layer-switcher-minimize.png │ │ │ ├── marker-blue.png │ │ │ ├── marker-gold.png │ │ │ ├── marker-green.png │ │ │ ├── marker.png │ │ │ ├── measuring-stick-off.png │ │ │ ├── measuring-stick-on.png │ │ │ ├── north-mini.png │ │ │ ├── panning-hand-off.png │ │ │ ├── panning-hand-on.png │ │ │ ├── slider.png │ │ │ ├── south-mini.png │ │ │ ├── west-mini.png │ │ │ ├── zoom-minus-mini.png │ │ │ ├── zoom-plus-mini.png │ │ │ ├── zoom-world-mini.png │ │ │ └── zoombar.png │ │ ├── license.txt │ │ ├── readme.txt │ │ └── theme │ │ │ └── default │ │ │ └── style.css │ │ └── openlayers3 │ │ ├── jquery-1.11.1.min.js │ │ ├── ol.css │ │ ├── ol.js │ │ ├── wms.html │ │ ├── wms.js │ │ ├── wmts.html │ │ └── wmts.js │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ ├── DemoTest.java │ │ ├── GeoWebCacheDispatcherTest.java │ │ ├── GeoWebCacheEnvironmentTest.java │ │ ├── GeoWebCacheExtensionsTest.java │ │ ├── MetastoreRemoverTest.java │ │ ├── MockExtensionRule.java │ │ ├── MockExtensionRuleTest.java │ │ ├── MockWepAppContextRule.java │ │ ├── TestHelpers.java │ │ ├── blobstore │ │ └── file │ │ │ ├── DefaultFilePathGeneratorTest.java │ │ │ ├── FileBasedBlobStoreSuitabilityTest.java │ │ │ ├── FileBlobStoreComformanceTest.java │ │ │ ├── FileBlobStorePersistenceSuitabilityTest.java │ │ │ ├── FileUtilsTest.java │ │ │ ├── XYZFileBlobStoreComformanceTest.java │ │ │ ├── XYZFileBlobStorePersistenceSuitabilityTest.java │ │ │ └── ZXYFilePathGeneratorTest.java │ │ ├── config │ │ ├── BlobStoreConfigurationTest.java │ │ ├── BlobStoreLayerIntegrationTest.java │ │ ├── ConfigurationTest.java │ │ ├── DefaultGridsetsConfigurationGridsetConformanceTest.java │ │ ├── DefaultingConfigurationTest.java │ │ ├── EnvironmentAwareXMLConfigurationTest.java │ │ ├── FileBlobStoreConfigTest.java │ │ ├── GWCConfigIntegrationRoundTripTest.java │ │ ├── GWCConfigIntegrationTest.java │ │ ├── GWCConfigIntegrationTestData.java │ │ ├── GWCConfigIntegrationTestSupport.java │ │ ├── GWCXMLConfigIntegrationTestSupport.java │ │ ├── GridSetConfigurationTest.java │ │ ├── LayerConfigurationTest.java │ │ ├── ListenerCollectionTest.java │ │ ├── MockConfigurationResourceProvider.java │ │ ├── MockGridSetConfiguration.java │ │ ├── ServerConfigurationTest.java │ │ ├── TestXMLConfigurationSource.java │ │ ├── XMLConfigurationBackwardsCompatibilityTest.java │ │ ├── XMLConfigurationBlobStoreConformanceTest.java │ │ ├── XMLConfigurationConstructorsTest.java │ │ ├── XMLConfigurationGridsetConformanceTest.java │ │ ├── XMLConfigurationLayerConformanceTest.java │ │ ├── XMLConfigurationTest.java │ │ ├── XMLConfigurationXSchemaTest.java │ │ └── legends │ │ │ └── LegendInfoBuilderTest.java │ │ ├── conveyor │ │ └── ConveyorTileTest.java │ │ ├── filter │ │ ├── parameters │ │ │ ├── FloatParameterFilterTest.java │ │ │ ├── IntegerParameterFilterTest.java │ │ │ ├── ParametersUtilsTest.java │ │ │ ├── RegexParameterFilterTest.java │ │ │ └── StringParameterFilterTest.java │ │ └── security │ │ │ └── SecurityDispatcherTest.java │ │ ├── grid │ │ ├── BoundingBoxTest.java │ │ ├── DefaultGridSetsTest.java │ │ ├── GridCalculatorTest.java │ │ ├── GridSetBrokerTest.java │ │ ├── GridSetFactoryTest.java │ │ ├── GridSetTest.java │ │ ├── GridSubSetFactoryTest.java │ │ └── GridSubSetTest.java │ │ ├── layer │ │ ├── SecurityDispatcherTileLayerDispatcherFilterTest.java │ │ ├── TileLayerDispatcherTest.java │ │ └── wms │ │ │ ├── MetaTileTest.java │ │ │ ├── TileLayerTest.java │ │ │ ├── WMSHttpHelperTest.java │ │ │ └── WMSLayerTest.java │ │ ├── mime │ │ ├── ApplicationMimeTest.java │ │ ├── ImageMimeTest.java │ │ ├── MimeTest.java │ │ └── XMLMimeTest.java │ │ ├── seed │ │ ├── SeedTaskTest.java │ │ └── TruncateBboxRequestTest.java │ │ ├── service │ │ └── OWSExceptionEncodingTest.java │ │ ├── stats │ │ └── RuntimeStatsTest.java │ │ ├── storage │ │ ├── AbstractBlobStoreTest.java │ │ ├── BlobStoreSuitabilityTest.java │ │ ├── BlobStoreTest.java │ │ ├── CompositeBlobStoreConfigurationIntegrationTest.java │ │ ├── CompositeBlobStoreTest.java │ │ ├── CompositeBlobStoreWithFilesComformanceTest.java │ │ ├── StorageBrokerTest.java │ │ ├── SuitabilityCheckRule.java │ │ ├── TileRangeIteratorTest.java │ │ ├── TransientCacheTest.java │ │ └── blobstore │ │ │ └── memory │ │ │ ├── MemoryBlobStoreComformanceTest.java │ │ │ ├── MemoryBlobStoreTest.java │ │ │ ├── MemoryBlobStoreWithFilesComformanceTest.java │ │ │ └── NullBlobStoreComformanceTest.java │ │ └── util │ │ ├── ByteUtilsTest.java │ │ ├── FileMatchers.java │ │ ├── FileUtilsTest.java │ │ ├── MockLockProvider.java │ │ ├── MockWMSLayerSource.java │ │ ├── MockWMSSourceHelper.java │ │ ├── NullURLManglerTest.java │ │ ├── PropertyRule.java │ │ ├── ResponseUtilsTest.java │ │ ├── SetSingletonRule.java │ │ └── TestUtils.java │ └── resources │ ├── images │ └── 4bit.png │ ├── logging.properties │ └── org │ └── geowebcache │ ├── config │ ├── geowebcache-config-env.xml │ ├── geowebcache-empty.xml │ ├── geowebcache-test-correct-config.xml │ ├── geowebcache_10.xml │ ├── geowebcache_101.xml │ ├── geowebcache_1100.xml │ ├── geowebcache_1110.xml │ ├── geowebcache_1120.xml │ ├── geowebcache_1130.xml │ ├── geowebcache_114.xml │ ├── geowebcache_1140.xml │ ├── geowebcache_115.xml │ ├── geowebcache_1150.xml │ ├── geowebcache_1170.xml │ ├── geowebcache_1180.xml │ ├── geowebcache_1190.xml │ ├── geowebcache_1200.xml │ ├── geowebcache_1210.xml │ ├── geowebcache_1220.xml │ ├── geowebcache_1230.xml │ ├── geowebcache_1240.xml │ ├── geowebcache_125.xml │ ├── geowebcache_1250.xml │ ├── geowebcache_126.xml │ ├── geowebcache_1260.xml │ ├── geowebcache_130.xml │ ├── geowebcache_140.xml │ ├── geowebcache_150.xml │ ├── geowebcache_151.xml │ ├── geowebcache_153.xml │ ├── geowebcache_160.xml │ ├── geowebcache_161.xml │ ├── geowebcache_170.xml │ ├── geowebcache_180.xml │ ├── geowebcache_190.xml │ ├── geowebcache_4326_override.xml │ └── geowebcache_pre10.xml │ └── ms_removal │ ├── diskquota_page_store │ ├── 00000000.jdb │ ├── je.info.0 │ └── je.lck │ ├── geowebcache.xml │ ├── meta_jdbc_h2 │ ├── gwc_metastore.3.log.db │ ├── gwc_metastore.data.db │ └── gwc_metastore.index.db │ ├── raster_test_layer │ └── EPSG_900913_01 │ │ └── 0_0 │ │ ├── 00_00.jpeg │ │ ├── 00_01.jpeg │ │ ├── 01_00.jpeg │ │ └── 01_01.jpeg │ └── topp_states │ ├── EPSG_4326_03 │ ├── 0_1 │ │ ├── 02_04.png8 │ │ ├── 02_05.png8 │ │ ├── 02_06.png8 │ │ ├── 02_07.png8 │ │ ├── 03_04.png8 │ │ ├── 03_05.png8 │ │ ├── 03_06.png8 │ │ └── 03_07.png8 │ └── 1_1 │ │ ├── 04_04.png8 │ │ ├── 04_05.png8 │ │ ├── 04_06.png8 │ │ ├── 04_07.png8 │ │ ├── 05_04.png8 │ │ ├── 05_05.png8 │ │ ├── 05_06.png8 │ │ └── 05_07.png8 │ ├── EPSG_4326_03_1 │ ├── 0_1 │ │ ├── 02_04.png8 │ │ ├── 02_05.png8 │ │ ├── 02_06.png8 │ │ ├── 02_07.png8 │ │ ├── 03_04.png8 │ │ ├── 03_05.png8 │ │ ├── 03_06.png8 │ │ └── 03_07.png8 │ └── 1_1 │ │ ├── 04_04.png8 │ │ ├── 04_05.png8 │ │ ├── 04_06.png8 │ │ ├── 04_07.png8 │ │ ├── 05_04.png8 │ │ ├── 05_05.png8 │ │ ├── 05_06.png8 │ │ └── 05_07.png8 │ └── EPSG_4326_03_2 │ ├── 0_1 │ ├── 02_04.png8 │ ├── 02_05.png8 │ ├── 02_06.png8 │ ├── 02_07.png8 │ ├── 03_04.png8 │ ├── 03_05.png8 │ ├── 03_06.png8 │ └── 03_07.png8 │ └── 1_1 │ ├── 04_04.png8 │ ├── 04_05.png8 │ ├── 04_06.png8 │ ├── 04_07.png8 │ ├── 05_04.png8 │ ├── 05_05.png8 │ ├── 05_06.png8 │ └── 05_07.png8 ├── diskquota ├── bdb │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── geowebcache │ │ │ └── diskquota │ │ │ └── bdb │ │ │ ├── BDBQuotaStore.java │ │ │ ├── BDBQuotaStoreFactory.java │ │ │ ├── ClassMetadataBuilder.java │ │ │ ├── DiskQuotaEntityModel.java │ │ │ └── EntityStoreBuilder.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── geowebcache │ │ │ └── diskquota │ │ │ ├── BDBQuotaStoreTest.java │ │ │ └── MockSystemUtils.java │ │ └── resources │ │ ├── log4j2-test.xml │ │ └── logging.properties ├── core │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── geowebcache │ │ │ │ └── diskquota │ │ │ │ ├── AbstractMonitor.java │ │ │ │ ├── CacheCleaner.java │ │ │ │ ├── CacheCleanerTask.java │ │ │ │ ├── ConfigLoader.java │ │ │ │ ├── DiskQuotaConfig.java │ │ │ │ ├── DiskQuotaMonitor.java │ │ │ │ ├── ExpirationPolicy.java │ │ │ │ ├── LayerCacheInfoBuilder.java │ │ │ │ ├── QueuedQuotaUpdatesConsumer.java │ │ │ │ ├── QueuedQuotaUpdatesProducer.java │ │ │ │ ├── QueuedUsageStatsConsumer.java │ │ │ │ ├── QueuedUsageStatsProducer.java │ │ │ │ ├── QuotaStore.java │ │ │ │ ├── QuotaStoreFactory.java │ │ │ │ ├── QuotaStoreProvider.java │ │ │ │ ├── QuotaUpdate.java │ │ │ │ ├── QuotaUpdatesMonitor.java │ │ │ │ ├── UsageStats.java │ │ │ │ ├── UsageStatsMonitor.java │ │ │ │ ├── rest │ │ │ │ └── controller │ │ │ │ │ └── DiskQuotaController.java │ │ │ │ └── storage │ │ │ │ ├── LayerQuota.java │ │ │ │ ├── PagePyramid.java │ │ │ │ ├── PageStats.java │ │ │ │ ├── PageStatsPayload.java │ │ │ │ ├── PageStoreConfig.java │ │ │ │ ├── Quota.java │ │ │ │ ├── StorageUnit.java │ │ │ │ ├── SystemUtils.java │ │ │ │ ├── TilePage.java │ │ │ │ ├── TilePageCalculator.java │ │ │ │ ├── TileSet.java │ │ │ │ └── TileSetVisitor.java │ │ └── resources │ │ │ └── org │ │ │ └── geowebcache │ │ │ └── config │ │ │ └── geowebcache-diskquota.xsd │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── geowebcache │ │ │ └── diskquota │ │ │ ├── ConfigLoaderTest.java │ │ │ ├── ConfigLoaderXSchemaTest.java │ │ │ ├── DiskQuotaConfigTest.java │ │ │ ├── QuotaTest.java │ │ │ ├── StorageUnitTest.java │ │ │ └── storage │ │ │ ├── MockSystemUtils.java │ │ │ ├── PagePyramidTest.java │ │ │ └── PageStatsTest.java │ │ └── resources │ │ └── geowebcache-diskquota.xml ├── jdbc │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── org │ │ │ │ └── geowebcache │ │ │ │ └── diskquota │ │ │ │ └── jdbc │ │ │ │ ├── H2Dialect.java │ │ │ │ ├── HSQLDialect.java │ │ │ │ ├── JDBCConfiguration.java │ │ │ │ ├── JDBCQuotaStore.java │ │ │ │ ├── JDBCQuotaStoreFactory.java │ │ │ │ ├── OracleDialect.java │ │ │ │ ├── ParametricDataAccessException.java │ │ │ │ ├── PostgreSQLDialect.java │ │ │ │ ├── SQLDialect.java │ │ │ │ └── SimpleJdbcTemplate.java │ │ └── resources │ │ │ └── org │ │ │ └── geowebcache │ │ │ └── diskquota │ │ │ └── jdbc │ │ │ └── geowebcache-diskquota-jdbc.xsd │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── geowebcache │ │ │ └── diskquota │ │ │ └── jdbc │ │ │ ├── FixtureUtilities.java │ │ │ ├── H2QuotaStoreTest.java │ │ │ ├── HSQLQuotaStoreTest.java │ │ │ ├── JDBCConfigurationTest.java │ │ │ ├── JDBCQuotaStoreFactoryTest.java │ │ │ ├── JDBCQuotaStoreTest.java │ │ │ ├── MockSystemUtils.java │ │ │ ├── OnlineTestCase.java │ │ │ ├── OnlineTestRule.java │ │ │ ├── OracleQuotaStoreTest.java │ │ │ └── PostgreSQLQuotaStoreTest.java │ │ └── resources │ │ ├── gwc-test-config.xml │ │ ├── log4j2-test.xml │ │ └── logging.properties └── pom.xml ├── distributed ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── storage │ │ └── blobstore │ │ └── memory │ │ └── distributed │ │ ├── HazelcastCacheProvider.java │ │ └── HazelcastLoader.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── blobstore │ │ └── memory │ │ └── distributed │ │ └── HazelcastCacheProviderTest.java │ └── resources │ └── logging.properties ├── georss ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── georss │ │ ├── Entry.java │ │ ├── GML31ParsingUtils.java │ │ ├── GeoRSSParsingUtils.java │ │ ├── GeoRSSPollTask.java │ │ ├── GeoRSSPoller.java │ │ ├── GeoRSSReader.java │ │ ├── GeoRSSReaderFactory.java │ │ ├── GeoRSSTileRangeBuilder.java │ │ ├── GeometryRasterMaskBuilder.java │ │ ├── PollDef.java │ │ └── StaxGeoRSSReader.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── georss │ │ ├── GeoRSSTileRangeBuilderTest.java │ │ ├── RasterMaskTest.java │ │ ├── RasterMaskTestUtils.java │ │ └── StaxGeoRSSReaderTest.java │ └── resources │ ├── logging.properties │ └── org │ └── geowebcache │ └── georss │ └── test-data │ ├── mixedgeometries_feed.xml │ └── point_feed.xml ├── gmaps ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── service │ │ ├── gmaps │ │ └── GMapsConverter.java │ │ └── mgmaps │ │ └── MGMapsConverter.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ ├── layer │ │ └── TileLayerDispatcherMock.java │ │ └── service │ │ ├── gmaps │ │ └── GMapsConverterTest.java │ │ └── mgmaps │ │ └── MGMapsConverterTest.java │ └── resources │ └── logging.properties ├── kml ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── service │ │ └── kml │ │ ├── ConveyorKMLTile.java │ │ ├── KMLDebugGridLayer.java │ │ ├── KMLService.java │ │ ├── KMLSiteMap.java │ │ └── KMZHelper.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── service │ │ └── kml │ │ └── KMLServiceTest.java │ └── resources │ └── logging.properties ├── mbtiles ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── mbtiles │ │ └── layer │ │ ├── MBTilesInfo.java │ │ ├── MBTilesLayer.java │ │ └── MBTilesLayerXMLConfigurationProvider.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── mbtiles │ │ └── layer │ │ ├── MBTilesLayerTest.java │ │ └── MBTilesLayerXMLConfigurationProviderTest.java │ └── resources │ ├── logging.properties │ └── org │ └── geowebcache │ └── mbtiles │ └── layer │ ├── geowebcache.xml │ ├── manypoints_test.mbtiles │ └── world_lakes.mbtiles ├── pmd-junit-ruleset.xml ├── pmd-ruleset.xml ├── pom.xml ├── release ├── doc.xml ├── src.xml └── war.xml ├── rest ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── geowebcache │ │ │ └── rest │ │ │ ├── config │ │ │ └── XMLConfiguration.java │ │ │ ├── controller │ │ │ ├── BlobStoreController.java │ │ │ ├── BoundsController.java │ │ │ ├── ByteStreamController.java │ │ │ ├── FilterUpdateController.java │ │ │ ├── GWCController.java │ │ │ ├── GWCIndexController.java │ │ │ ├── GWCSeedingController.java │ │ │ ├── GridSetController.java │ │ │ ├── MassTruncateController.java │ │ │ ├── MemoryCacheController.java │ │ │ ├── ReloadController.java │ │ │ ├── RestExceptionHandler.java │ │ │ ├── SeedController.java │ │ │ ├── ServerController.java │ │ │ └── TileLayerController.java │ │ │ ├── converter │ │ │ ├── GWCConverter.java │ │ │ ├── ServerConfigurationPOJO.java │ │ │ └── XStreamListAliasWrapper.java │ │ │ ├── exception │ │ │ └── RestException.java │ │ │ ├── filter │ │ │ ├── FileRasterFilterUpdate.java │ │ │ ├── WMSRasterFilterUpdate.java │ │ │ ├── XmlFilterUpdate.java │ │ │ └── ZipFilterUpdate.java │ │ │ ├── service │ │ │ ├── FormService.java │ │ │ └── SeedService.java │ │ │ └── webresources │ │ │ └── WebResourceBundle.java │ └── resources │ │ └── org │ │ └── geowebcache │ │ └── rest │ │ └── webresources │ │ └── seed.js │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── rest │ │ ├── bounds │ │ └── BoundsControllerTest.java │ │ ├── controller │ │ ├── BlobStoreControllerTest.java │ │ ├── BoundsControllerMVCTest.java │ │ ├── ByteStreamControllerTest.java │ │ ├── FilterUpdateControllerMVCTest.java │ │ ├── GridSetControllerTest.java │ │ ├── SeedControllerTest.java │ │ └── TileLayerControllerTest.java │ │ ├── filter │ │ └── FilterUpdateControllerTest.java │ │ ├── reload │ │ └── ReloadTest.java │ │ ├── seed │ │ └── MassTruncateControllerTest.java │ │ ├── service │ │ └── FormServiceTest.java │ │ └── statistics │ │ └── MemoryCacheControllerTest.java │ └── resources │ ├── logging.properties │ └── org │ └── geowebcache │ ├── rest │ └── webresources │ │ ├── subdir │ │ └── foo.css │ │ ├── test.css │ │ ├── test.js │ │ └── test.png │ └── shouldnt │ └── access │ └── test.png ├── s3storage ├── Readme.md ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── s3 │ │ ├── Access.java │ │ ├── S3BlobStore.java │ │ ├── S3BlobStoreConfigProvider.java │ │ ├── S3BlobStoreInfo.java │ │ ├── S3Ops.java │ │ └── streams │ │ ├── BatchingIterator.java │ │ ├── BoundedS3KeySupplier.java │ │ ├── DeleteBatchesOfS3Objects.java │ │ ├── TileDeletionListenerNotifier.java │ │ └── UnboundedS3KeySupplier.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ ├── config │ │ └── S3BlobStoreConfigStoreLoadTest.java │ │ └── s3 │ │ ├── AbstractS3BlobStoreIntegrationTest.java │ │ ├── OfflineS3BlobStoreIntegrationTest.java │ │ ├── OnlineS3BlobStoreIntegrationTest.java │ │ ├── PropertiesLoader.java │ │ ├── S3BlobStoreConfigSerializeTest.java │ │ ├── S3BlobStoreConfigTest.java │ │ ├── S3BlobStoreConformanceTest.java │ │ ├── S3BlobStoreSuitabilityTest.java │ │ └── TemporaryS3Folder.java │ └── resources │ ├── appContextTestS3.xml │ ├── logging.properties │ └── org │ └── geowebcache │ └── s3 │ └── blobstore.xml ├── spotbugs-exclude.xml ├── sqlite ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── sqlite │ │ ├── ExtendedConnection.java │ │ ├── FileManager.java │ │ ├── GeoToolsMbtilesUtils.java │ │ ├── MbtilesBlobStore.java │ │ ├── MbtilesConfigurationProvider.java │ │ ├── MbtilesInfo.java │ │ ├── OperationsRest.java │ │ ├── SqliteBlobStore.java │ │ ├── SqliteConnectionManager.java │ │ ├── SqliteInfo.java │ │ └── Utils.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── sqlite │ │ ├── FileManagerTest.java │ │ ├── MbtilesBlobStoreConformanceTest.java │ │ ├── MbtilesBlobStoreSuitabilityTest.java │ │ ├── MbtilesBlobStoreTest.java │ │ ├── MbtilesPBFTest.java │ │ ├── OperationsRestTest.java │ │ ├── OperationsRestWebConfig.java │ │ ├── SqliteBlobStoreTest.java │ │ ├── SqliteConnectionManagerTest.java │ │ ├── SqlitlePerf.java │ │ └── TestSupport.java │ └── resources │ └── logging.properties ├── swiftblob ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── swift │ │ ├── IBlobStoreListenerNotifier.java │ │ ├── SwiftBlobStore.java │ │ ├── SwiftBlobStoreConfigProvider.java │ │ ├── SwiftBlobStoreInfo.java │ │ ├── SwiftDeleteTask.java │ │ ├── SwiftTile.java │ │ └── SwiftUploadTask.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── swift │ │ ├── SwiftBlobStoreTest.java │ │ ├── SwiftTileTest.java │ │ └── SwiftUploadTaskTest.java │ └── resources │ ├── logging.properties │ └── mockito-extensions │ └── org.mockito.plugins.MockMaker ├── tms ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── service │ │ └── tms │ │ ├── TMSDocumentFactory.java │ │ └── TMSService.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── service │ │ └── tms │ │ └── TMSServiceTest.java │ └── resources │ ├── logging.properties │ └── org │ └── geowebcache │ └── service │ └── tms │ └── geowebcache_10.xml ├── tools ├── codetemplates.xml ├── formatter.xml ├── nightly.sh └── release.sh ├── ve ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ └── service │ │ └── ve │ │ └── VEConverter.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── service │ │ └── ve │ │ └── VEConverterTest.java │ └── resources │ └── logging.properties ├── web ├── pom.xml └── src │ ├── main │ ├── resources │ │ ├── application.properties │ │ ├── commons-logging.properties │ │ ├── log4j2-rollingfile.xml │ │ ├── log4j2.xml │ │ └── logging.properties │ └── webapp │ │ ├── WEB-INF │ │ ├── geowebcache-arcgiscache-context.xml │ │ ├── geowebcache-core-context.xml │ │ ├── geowebcache-diskquota-context.xml │ │ ├── geowebcache-distributed.xml │ │ ├── geowebcache-georss-context.xml │ │ ├── geowebcache-gmaps-context.xml │ │ ├── geowebcache-kmlservice-context.xml │ │ ├── geowebcache-mbtiles-context.xml │ │ ├── geowebcache-rest-context.xml │ │ ├── geowebcache-s3storage-context.xml │ │ ├── geowebcache-security.xml │ │ ├── geowebcache-servlet.xml │ │ ├── geowebcache-sqlite-context.xml │ │ ├── geowebcache-swiftblob-context.xml │ │ ├── geowebcache-tmsservice-context.xml │ │ ├── geowebcache-virtualearth-context.xml │ │ ├── geowebcache-wmsservice-context.xml │ │ ├── geowebcache-wmtsservice-context.xml │ │ ├── users.properties │ │ └── web.xml │ │ ├── index.html │ │ └── states_gmaps.html │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ └── jetty │ │ ├── HttpClientRule.java │ │ ├── JettyRule.java │ │ ├── RestIntegrationTest.java │ │ └── Start.java │ └── resources │ ├── log4j2-test.xml │ └── logging.properties ├── wms ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── geowebcache │ │ ├── config │ │ └── wms │ │ │ ├── GetCapabilitiesConfiguration.java │ │ │ └── parameters │ │ │ ├── NaiveWMSDimensionFilter.java │ │ │ └── WMSDimensionProvider.java │ │ ├── io │ │ └── codec │ │ │ ├── ImageDecoder.java │ │ │ ├── ImageDecoderContainer.java │ │ │ ├── ImageDecoderImpl.java │ │ │ ├── ImageEncoder.java │ │ │ ├── ImageEncoderContainer.java │ │ │ ├── ImageEncoderImpl.java │ │ │ ├── ImageIOInitializer.java │ │ │ └── PNGImageEncoder.java │ │ └── service │ │ └── wms │ │ ├── BufferedImageWrapper.java │ │ ├── WMSGetCapabilities.java │ │ ├── WMSService.java │ │ ├── WMSTileFuser.java │ │ └── WMSUtilities.java │ └── test │ ├── java │ └── org │ │ └── geowebcache │ │ ├── config │ │ └── wms │ │ │ ├── GetCapabilitiesConfigurationTest.java │ │ │ ├── GetCapabilitiesGridSetConfigurationConformanceTest.java │ │ │ └── GetCapabilitiesLayerConfigurationConformanceTest.java │ │ ├── io │ │ └── codec │ │ │ └── TestSpring.java │ │ └── service │ │ └── wms │ │ ├── WMSGetCapabilitiesTest.java │ │ ├── WMSServiceTest.java │ │ └── WMSTileFuserTest.java │ └── resources │ ├── appContextTest.xml │ ├── appContextTest2.xml │ ├── image.png │ └── logging.properties └── wmts ├── pom.xml └── src ├── main └── java │ └── org │ └── geowebcache │ └── service │ └── wmts │ ├── WMTSExtension.java │ ├── WMTSExtensionImpl.java │ ├── WMTSGetCapabilities.java │ ├── WMTSGetFeatureInfo.java │ ├── WMTSService.java │ ├── WMTSTileJSON.java │ └── WMTSUtils.java └── test ├── java └── org │ └── geowebcache │ └── service │ └── wmts │ ├── WMTSRestTest.java │ ├── WMTSRestWebConfig.java │ ├── WMTSServiceTest.java │ └── WMTSUtilsTest.java └── resources ├── appContextTest.xml ├── image.png ├── logging.properties └── org └── geowebcache └── service └── wmts └── geowebcache_190.xml /.github/workflows/backport.yml: -------------------------------------------------------------------------------- 1 | name: ♻ Backport 2 | on: 3 | pull_request_target: 4 | types: 5 | - closed 6 | - labeled 7 | 8 | jobs: 9 | backport: 10 | runs-on: ubuntu-22.04 11 | name: Backport 12 | steps: 13 | - name: Backport Bot 14 | id: backport 15 | if: github.event.pull_request.merged && ( ( github.event.action == 'closed' && contains( join( github.event.pull_request.labels.*.name ), 'backport') ) || contains( github.event.label.name, 'backport' ) ) 16 | uses: m-kuhn/backport@v1.2.7 17 | with: 18 | github_token: ${{ secrets.GH_TOKEN_BOT }} 19 | 20 | -------------------------------------------------------------------------------- /.github/workflows/macos.yml: -------------------------------------------------------------------------------- 1 | name: Mac OS CI 2 | 3 | on: [pull_request] 4 | 5 | concurrency: 6 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 7 | cancel-in-progress: true 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: [macos-latest] 13 | 14 | steps: 15 | - uses: actions/checkout@v4 16 | - name: Set up JDK 11 17 | uses: actions/setup-java@v3 18 | with: 19 | java-version: 11 20 | distribution: 'temurin' 21 | - name: Maven repository caching 22 | uses: actions/cache@v3 23 | with: 24 | path: ~/.m2/repository 25 | key: gs-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} 26 | restore-keys: | 27 | ${{ runner.os }}-maven- 28 | - name: Build with Maven 29 | run: mvn -B clean install -T2 --file geowebcache/pom.xml -Dspotless.apply.skip=true 30 | - name: Remove SNAPSHOT jars from repository 31 | run: | 32 | find .m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {} 33 | -------------------------------------------------------------------------------- /.github/workflows/windows.yml: -------------------------------------------------------------------------------- 1 | name: Windows GitHub CI 2 | 3 | on: [pull_request] 4 | 5 | concurrency: 6 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 7 | cancel-in-progress: true 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: [windows-latest] 13 | 14 | steps: 15 | - uses: actions/checkout@v4 16 | - name: Set up JDK 11 17 | uses: actions/setup-java@v3 18 | with: 19 | java-version: 11 20 | distribution: 'temurin' 21 | - name: Maven repository caching 22 | uses: actions/cache@v3 23 | with: 24 | path: ~/.m2/repository 25 | key: gwc-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} 26 | restore-keys: | 27 | ${{ runner.os }}-maven- 28 | - name: Build with Maven 29 | run: mvn --% -B clean install -Dall -T2 -Dspotless.apply.skip=true --file geowebcache/pom.xml 30 | - name: Remove SNAPSHOT jars from repository 31 | run: | 32 | cmd --% /c for /f %i in ('dir /a:d /s /b %userprofile%\*SNAPSHOT*') do rd /s /q %i 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.classpath 2 | *.settings 3 | *.project 4 | .factorypath 5 | bin 6 | target 7 | .DS_Store 8 | release.rb 9 | 10 | # Intellij 11 | .idea/ 12 | *.iml 13 | 14 | # spotless up to date checks 15 | .spotless-index 16 | 17 | # os specific files 18 | .DS_Store 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # geowebcache 2 | 3 | [![Gitter](https://badges.gitter.im/GeoWebCache/geowebcache.svg)](https://gitter.im/GeoWebCache/geowebcache?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 4 | 5 | 6 | ## Release Guide 7 | 8 | The release process is managed by the sibling repository at https://github.com/GeoWebCache/gwc-release 9 | -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 1.0.{build} 2 | branches: 3 | only: 4 | - master 5 | cache: 6 | - C:\Users\appveyor\.m2\ -> geowebcache\pom.xml 7 | build_script: 8 | - cmd: | 9 | cd geowebcache 10 | mvn install -T2 -Dall -fae -U 11 | -------------------------------------------------------------------------------- /documentation/en/.gitignore: -------------------------------------------------------------------------------- 1 | venv -------------------------------------------------------------------------------- /documentation/en/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx 2 | sphinx-autobuild -------------------------------------------------------------------------------- /documentation/en/theme/_static/blueprint/ie.css: -------------------------------------------------------------------------------- 1 | /* ----------------------------------------------------------------------- 2 | 3 | Blueprint CSS Framework 0.7.1 4 | http://blueprintcss.googlecode.com 5 | 6 | * Copyright (c) 2007-2008. See LICENSE for more info. 7 | * See README for instructions on how to use Blueprint. 8 | * For credits and origins, see AUTHORS. 9 | * This is a compressed file. See the sources in the 'src' directory. 10 | 11 | ----------------------------------------------------------------------- */ 12 | 13 | /* ie.css */ 14 | body {text-align:center;} 15 | .container {text-align:left;} 16 | * html .column {overflow-x:hidden;} 17 | * html legend {margin:-18px -8px 16px 0;padding:0;} 18 | ol {margin-left:2em;} 19 | sup {vertical-align:text-top;} 20 | sub {vertical-align:text-bottom;} 21 | html>body p code {*white-space:normal;} 22 | hr {margin:-8px auto 11px;} -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/content-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/content-bg.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/download-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/download-link.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/file.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/footer-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/footer-bg.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/geowebcache-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/geowebcache-logo.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/header-bg.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/main-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/main-bg.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/search-box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/search-box.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/search_icon_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/search_icon_green.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/toc-contrast-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/toc-contrast-bg.gif -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/toc-contrast-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/toc-contrast-bg.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/chrome/toc-contrast-top-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/chrome/toc-contrast-top-bg.png -------------------------------------------------------------------------------- /documentation/en/theme/_static/geowebcache.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/theme/_static/geowebcache.ico -------------------------------------------------------------------------------- /documentation/en/user/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/img/duplicate_labels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/concepts/img/duplicate_labels.png -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/img/gridset_bl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/concepts/img/gridset_bl.png -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/img/gridset_boundingbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/concepts/img/gridset_boundingbox.png -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/img/gridset_tl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/concepts/img/gridset_tl.png -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/img/gridsubset_boundingbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/concepts/img/gridsubset_boundingbox.png -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/img/gridsubset_tiles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/concepts/img/gridsubset_tiles.png -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/img/metatile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/concepts/img/metatile.png -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/index.rst: -------------------------------------------------------------------------------- 1 | .. _concepts: 2 | 3 | Concepts 4 | ======== 5 | 6 | This section explains some general concepts used when tiling, as well as special idioms used in GeoWebCache. 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | tiles 12 | gridsets 13 | metatiles 14 | stores 15 | operations 16 | 17 | -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/operations.rst: -------------------------------------------------------------------------------- 1 | .. _concepts.operations: 2 | 3 | Operations 4 | ========== 5 | 6 | When working with GeoWebCache tiles, there are three main operations associated with any task: **seeding**, **reseeding**, and **truncating**. 7 | 8 | Seeding 9 | ------- 10 | 11 | The **seeding** operation will generate any tiles not already saved in the cache. If tiles are already in the cache, these will be preserved. This operation is best for typical usage on a static cache. 12 | 13 | Reseeding 14 | --------- 15 | 16 | The **reseeding** operation will regenerate all tiles, even if already saved in the cache. This operation is used when data and tiles have become stale and need to be updated. 17 | 18 | Truncating 19 | ---------- 20 | 21 | The **truncating** operation will remove/delete tiles from the cache. This operation is used when data tiles are stable and need to be removed, but without replacing them with newer tiles. This operation can be used to free disk space, either manually, with :ref:`configuration.diskquotas`, or with :ref:`GeoRSS `. 22 | -------------------------------------------------------------------------------- /documentation/en/user/source/concepts/tiles.rst: -------------------------------------------------------------------------------- 1 | .. _concepts.tiles: 2 | 3 | Tiles 4 | ===== 5 | 6 | GeoWebCache caches images retrieved from a WMS. The smallest unit of image cached is known as a **tile**. All tiles are assumed to be the same dimensions and are typically square (i.e. 256 pixels by 256 pixels). 7 | 8 | It is important to note that GeoWebCache's tile cache is spatially agnostic. The tiles are stored in a rectangular grid, indexed by (x,y) coordinates. A z coordinate (zero-indexed) is used to denote the zoom level, resulting in each tile being indexed as a triplet (x,y,z). 9 | 10 | Tile pyramid 11 | ------------ 12 | 13 | As saved by GeoWebCache, the tile system is "pyramidal", meaning that increasing zoom levels have a larger amount of tiles. By default, and by far the most common case, for increasing values of z, the amount of tiles in that zoom level is four times the amount of the previous zoom level:: 14 | 15 | [number of tiles in zoom level z] = 4 * [number of tiles in zoom level (z-1)] 16 | 17 | When applied to square map projections where zoom level z = 0, the number of tiles would result in a single tile (such as the Google projection EPSG:900913 / EPSG:3857):: 18 | 19 | [number of tiles in zoom level z] = 4^z 20 | 21 | When applied to rectangular map projections where zoom level z=0, the number of tiles would result in two tiles (such as EPSG:4326 / lat/lon):: 22 | 23 | [number of tiles in zoom level z] = 2 * 4^z 24 | 25 | -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/index.rst: -------------------------------------------------------------------------------- 1 | .. _configuration: 2 | 3 | Configuration 4 | ============= 5 | 6 | This section describes the several configuration options available in GeoWebCache. 7 | 8 | For information on graphical configuration options, please see the section on the :ref:`webinterface`. 9 | 10 | .. note:: After making any changes to the configuration, make sure to :ref:`reload the configuration `. 11 | 12 | .. toctree:: 13 | :maxdepth: 2 14 | 15 | 16 | layers/index 17 | security 18 | storage 19 | services 20 | diskquotas 21 | reload 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/layers/arcgis_tiling_scheme_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/configuration/layers/arcgis_tiling_scheme_structure.png -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/layers/gridsets.rst: -------------------------------------------------------------------------------- 1 | .. _configuration.layers.gridsets: 2 | 3 | Gridsets and Gridsubsets 4 | ======================== 5 | 6 | .. note:: This section is under construction. -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/layers/index.rst: -------------------------------------------------------------------------------- 1 | .. _configuration.layers: 2 | 3 | Configuring Layers 4 | ================== 5 | 6 | This section describes how to manually configure layers in GeoWebCache and provides some basic configuration examples. 7 | 8 | 9 | .. toctree:: 10 | :maxdepth: 2 11 | 12 | howto 13 | projections 14 | palettes 15 | parameterfilters 16 | styleslegends 17 | requestfilters 18 | arcgistilingschemes 19 | staticcaps 20 | georss 21 | expiretiles 22 | gridsets 23 | selectivezoom 24 | requestmode 25 | examples 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/layers/palettes.rst: -------------------------------------------------------------------------------- 1 | .. configuration.layers.palette: 2 | 3 | Palettes 4 | ======== 5 | 6 | .. note:: This section is under construction. -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/layers/requestfilters.rst: -------------------------------------------------------------------------------- 1 | .. _requestfilter: 2 | 3 | Request Filter 4 | ============== 5 | 6 | .. note:: This section is under construction. 7 | 8 | Request Filters filter requests before they reach the cache. They can for example be used to return transparent tiles for areas that are within the bounding box of the layer but where not actual data is available. 9 | 10 | The two included implementations are FileRasterFilter and WMSRasterFilter. Java developers should easily be able to write additional classes that implement the RequestFilter interface. 11 | 12 | This section is incomplete, please contribute. See the exhaustive configuration example and the XSD documentation for how to use the included request filter implementations. 13 | -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/layers/requestmode.rst: -------------------------------------------------------------------------------- 1 | .. _configuration.layers.request.mode: 2 | 3 | WMS request modes 4 | ================= 5 | 6 | The WMS standard officially supports only HTTP GET requests. This poses a limit on the number and size of parameters 7 | in the request, as GET request lenght is commonly limited to 2048 chars (the standard poses no limits, the actual 8 | value depends a lot on server configurations, routers and other network machinery in the middle). 9 | 10 | GeoWebCache can receive requests also as POST, form URL encoded, removing such limit, but the remote WMS 11 | server may or may not support this as it's not part of the standard (e.g., GeoServer does support it). 12 | 13 | In case the server is known and this approach is supported, a layer can be configured to cascade requests 14 | as POST adding the following configuration bit: 15 | 16 | .. code-block:: xml 17 | 18 | 19 | 20 | 21 | 22 | 23 | topp:states 24 | 25 | FormPost 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/layers/staticcaps.rst: -------------------------------------------------------------------------------- 1 | .. _configuration.staticcaps: 2 | 3 | Using a Static Capabilities Document 4 | ==================================== 5 | 6 | .. note:: This section is under construction. -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/security.rst: -------------------------------------------------------------------------------- 1 | .. _configuration.security: 2 | 3 | Security 4 | -------- 5 | 6 | GeoWebCache requires authentication to perform certain operations, such as reconfiguration or seeding. By default ``WEB-INF\users.properties`` looks like this: 7 | 8 | .. code-block:: c 9 | 10 | geowebcache=secured,ROLE_ADMINISTRATOR 11 | 12 | 13 | Change ``geowebcache`` to your desired username and ``secured`` to your password of choice. It is recommended that you use only ASCII characters. 14 | 15 | Fine-grained control can be implemented using an external proxy or servlet filter, or within GeoWebCache by using a request filter. Advanced users who understand ACEGI may want to edit ``acegi-config.xml`` as well. 16 | 17 | Proxy Requests 18 | ============== 19 | 20 | The WMS Service can proxy requests it does not understand to a WMS back end. By specifying ``GEOWEBCACHE_WMS_PROXY_REQUEST_WHITELIST``. It should be set to a semicolon separated list of request types. ``*`` will allow all requests. 21 | 22 | By default, it is set to ``*`` unless there are ``SecurityFilter`` extensions installed in which case it defaults to ``GetLegendGraphic``. ``GetMap``, ``GetCapabillities``, and ``GetFeatureInfo`` are all interpreted by GWC rather than proxied and so are not affected by the whitelist. 23 | -------------------------------------------------------------------------------- /documentation/en/user/source/configuration/services.rst: -------------------------------------------------------------------------------- 1 | .. _configuration.services: 2 | 3 | Enabling/Disabling Services 4 | =========================== 5 | 6 | .. note:: This section is under construction. 7 | -------------------------------------------------------------------------------- /documentation/en/user/source/development/img/intelij-run.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/development/img/intelij-run.png -------------------------------------------------------------------------------- /documentation/en/user/source/faq/index.rst: -------------------------------------------------------------------------------- 1 | Frequently Asked Questions 2 | ========================== 3 | 4 | This section will answer common questions about GeoWebCache. 5 | 6 | Does GeoWebCache support WFS feature caching? 7 | Not currently. Earlier versions of GeoWebCache had an experimental prototype of vector feature caching, but it was highly unstable and was removed from GeoWebCache as of version 1.2.5. 8 | 9 | -------------------------------------------------------------------------------- /documentation/en/user/source/index.rst: -------------------------------------------------------------------------------- 1 | GeoWebCache |release| 2 | ===================== 3 | 4 | GeoWebCache is a Java web application used to cache map tiles coming from a variety of sources such as OGC Web Map Server (WMS). It implements various service interfaces (such as WMS-C, WMTS, TMS, Google Maps KML, Virtual Earth) in order to accelerate and optimize map image delivery. It can also recombine tiles to work with regular WMS clients. 5 | 6 | This User Manual is a guide to the most common aspects of GeoWebCache. 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | introduction/index 12 | installation/index 13 | quickstart/index 14 | concepts/index 15 | configuration/index 16 | webinterface/index 17 | services/index 18 | rest/index 19 | production/index 20 | troubleshooting/index 21 | development/index 22 | faq/index 23 | -------------------------------------------------------------------------------- /documentation/en/user/source/installation/index.rst: -------------------------------------------------------------------------------- 1 | .. _installation: 2 | 3 | Installation 4 | ============ 5 | 6 | This section describes how to install GeoWebCache on the most common platforms. GeoWebCache will work on any operating system that supports Java 1.5, including FreeBSD and Solaris. 7 | 8 | The following software will need to be set up prior to installing GeoWebCache: 9 | 10 | * **Java Runtime Environment (JRE)** (version 1.5 or greater, preferably from Oracle) 11 | * **Java Servlet Container** (such as Apache Tomcat) 12 | 13 | In essence, GeoWebCache is a set of Java classes (program files) and a number of configuration files. The combination is known as a Java Servlet, and these are commonly distributed in a zip file known as a Web ARchive, or WAR file for short. 14 | 15 | To use its content, we need a Java Virtual Machine and a Servlet Container. The latter is a network service that accepts requests from clients, such as web browsers, and delegates them to the appropriate servlet. 16 | 17 | 18 | .. toctree:: 19 | :maxdepth: 2 20 | 21 | prerequisites/index 22 | geowebcache.rst 23 | upgrading.rst 24 | -------------------------------------------------------------------------------- /documentation/en/user/source/installation/prerequisites/index.rst: -------------------------------------------------------------------------------- 1 | .. _prerequisites: 2 | 3 | Installing Java and Tomcat 4 | ========================== 5 | 6 | This section describes how to install a Java Runtime Enivronment (JRE) and Apache Tomcat (a Java Servlet Container) on the most common platforms. 7 | 8 | While this section only discusses the Tomcat servlet container, the setup is usually very similar for other servlet containers. 9 | 10 | .. note:: You can skip this step and go to :ref:`installing_geowebcache` if you already have a servlet container running. 11 | 12 | .. warning:: Many Linux distributions come with packages for Java and Tomcat. However, these are often an incorrect version and are frequently configured to deny filesystem access, hence it is recommended to install these packages manually. 13 | 14 | .. toctree:: 15 | :maxdepth: 2 16 | 17 | linux.rst 18 | windows.rst 19 | macosx.rst 20 | 21 | -------------------------------------------------------------------------------- /documentation/en/user/source/installation/prerequisites/macosx.rst: -------------------------------------------------------------------------------- 1 | .. _macosx: 2 | 3 | MacOS X 4 | ======= 5 | 6 | TODO, please contribute 7 | 8 | -------------------------------------------------------------------------------- /documentation/en/user/source/introduction/architecture.rst: -------------------------------------------------------------------------------- 1 | .. _architecture: 2 | 3 | Architecture 4 | ============ 5 | 6 | Both of the diagrams below are greatly simplified. They are only meant to inform end users, developers should consult the Spring context and the source code. 7 | 8 | Overview 9 | -------- 10 | 11 | (TODO) 12 | 13 | 14 | Request Processing 15 | ------------------ 16 | 17 | 18 | .. figure:: request_overview.png 19 | :align: center 20 | -------------------------------------------------------------------------------- /documentation/en/user/source/introduction/how_it_works.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/introduction/how_it_works.png -------------------------------------------------------------------------------- /documentation/en/user/source/introduction/index.rst: -------------------------------------------------------------------------------- 1 | .. _introduction: 2 | 3 | Introduction 4 | ============ 5 | 6 | This section introduces GeoWebCache, what it is, how it works, and its community of users. 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | whatis.rst 12 | architecture.rst 13 | community.rst 14 | whichgwc.rst 15 | -------------------------------------------------------------------------------- /documentation/en/user/source/introduction/request_overview.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/introduction/request_overview.odg -------------------------------------------------------------------------------- /documentation/en/user/source/introduction/request_overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/documentation/en/user/source/introduction/request_overview.png -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/blobstore_json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "FileBlobStore": { 3 | "@default": "false", 4 | "baseDirectory": "/tmp/defaultCache", 5 | "enabled": false, 6 | "fileSystemBlockSize": 4096, 7 | "id": "defaultCache" 8 | } 9 | } -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/blobstore_xml.txt: -------------------------------------------------------------------------------- 1 | 2 | defaultCache 3 | false 4 | /tmp/defaultCache 5 | 4096 6 | -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/diskquota_json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "gwcQuotaConfiguration":{ 3 | "enabled":true, 4 | "maxConcurrentCleanUps":2, 5 | "cacheCleanUpFrequency":5, 6 | "cacheCleanUpUnits":"SECONDS" 7 | "globalExpirationPolicyName":"LRU", 8 | "globalQuota":{"value":"100","units":"MiB"}, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/diskquota_xml.txt: -------------------------------------------------------------------------------- 1 | 2 | true 3 | 5 4 | SECONDS 5 | 5 6 | LRU 7 | 8 | 100 9 | MiB 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/gridset_json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "gridSet": { 3 | "alignTopLeft": false, 4 | "extent": { 5 | "coords": [ 6 | -2495667.977678598, 7 | -2223677.196231552, 8 | 3291070.6104286816, 9 | 959189.3312465074 10 | ] 11 | }, 12 | "metersPerUnit": 1, 13 | "name": "EPSG:2163", 14 | "pixelSize": 0.00028, 15 | "scaleDenominators": [ 16 | 25000000.0, 17 | 1000000, 18 | 100000, 19 | 25000 20 | ], 21 | "scaleNames": [ 22 | "EPSG:2163:0", 23 | "EPSG:2163:1", 24 | "EPSG:2163:2", 25 | "EPSG:2163:3" 26 | ], 27 | "srs": { 28 | "number": 2163 29 | }, 30 | "tileHeight": 200, 31 | "tileWidth": 200, 32 | "yCoordinateFirst": false 33 | } 34 | } -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/gridset_xml.txt: -------------------------------------------------------------------------------- 1 | 2 | EPSG:2163 3 | 4 | 2163 5 | 6 | 7 | 8 | -2495667.977678598 9 | -2223677.196231552 10 | 3291070.6104286816 11 | 959189.3312465074 12 | 13 | 14 | false 15 | 16 | 2.5E7 17 | 1000000.0 18 | 100000.0 19 | 25000.0 20 | 21 | 1.0 22 | 2.8E-4 23 | 24 | EPSG:2163:0 25 | EPSG:2163:1 26 | EPSG:2163:2 27 | EPSG:2163:3 28 | 29 | 200 30 | 200 31 | false 32 | -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/seed_json.txt: -------------------------------------------------------------------------------- 1 | {"seedRequest":{ 2 | "name":"topp:states", 3 | "bounds":{"coords":{ "double":["-124.0","22.0","66.0","72.0"]}}, 4 | "srs":{"number":4326}, 5 | "zoomStart":1, 6 | "zoomStop":12, 7 | "format":"image\/png", 8 | "type":"seed", 9 | "threadCount":4 10 | } 11 | }} 12 | 13 | -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/seed_xml.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | topp:states 4 | 5 | 6 | -2495667.977678598 7 | -2223677.196231552 8 | 3291070.6104286816 9 | 959189.3312465074 10 | 11 | 12 | 13 | 14 | EPSG:2163 Grid Set 15 | 1 16 | 17 | 12 18 | image/png 19 | 20 | 25 | truncate 26 | 27 | 28 | 1 29 | 30 | -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/wmslayer.xml.txt: -------------------------------------------------------------------------------- 1 | 2 | img states 3 | 4 | Nicer title for Image States 5 | This is a description. Fascinating. 6 | 7 | 8 | image/gif 9 | image/jpeg 10 | image/png 11 | image/png8 12 | 13 | 14 | 15 | EPSG:4326 16 | 17 | 18 | -129.6 19 | 3.45 20 | -62.1 21 | 70.9 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | http://demo.opengeo.org/geoserver/wms 34 | 35 | nurc:Img_Sample,topp:states 36 | false 37 | 0x0066FF 38 | -------------------------------------------------------------------------------- /documentation/en/user/source/rest/representations/wmslayer_minimal.xml.txt: -------------------------------------------------------------------------------- 1 | 2 | layer1 3 | 4 | image/png 5 | 6 | 7 | 8 | EPSG:900913 9 | 10 | 11 | 12 | http://localhost:8080/geoserver/wms 13 | 14 | topp:states 15 | -------------------------------------------------------------------------------- /documentation/en/user/source/services/bingmaps.rst: -------------------------------------------------------------------------------- 1 | .. _bingmaps: 2 | 3 | Bing Maps 4 | ========= 5 | 6 | Bing Maps, formerly known as Microsoft Virtual Earth, is another mapping service that primarily operates on spherical mercator tiles. This means the layer must available in EPSG:900913 (now known as EPSG:3857) to use this API. 7 | 8 | It appears that the Bing Maps API continues to use ``VETileSourceSpecification`` objects. The following code has not been tested exhaustively for some time, please send feedback to the geowebcache-users mailinglist. 9 | 10 | .. code-block:: javascript 11 | 12 | var map = new VEMap('myMap'); 13 | var tileSourceSpec = 14 | new VETileSourceSpecification( 15 | 'TITLE_OF_LAYER', 16 | 'http://localhost:8080/geowebcache/service/ve?quadkey=%4&format=image/png&layers=layer-name' 17 | ); 18 | tileSourceSpec.Opacity = 0.5; 19 | map.AddTileLayer(tileSourceSpec, true); 20 | 21 | .. code-block:: html 22 | 23 | 24 | 25 | In the above example you must replace ``layer-name`` and ``http://localhost:8080/geowebcache`` as appropriate. You may also change ``image/png``. Bing Maps will automatically replace ``%4`` with the quad-key for the tile. 26 | 27 | 28 | -------------------------------------------------------------------------------- /documentation/en/user/source/services/gmaps.rst: -------------------------------------------------------------------------------- 1 | .. _gmaps: 2 | 3 | Google Maps 4 | =========== 5 | 6 | Google Maps is based on spherical mercator, so the layer must available in EPSG:900913 (now known as EPSG:3857) to use this API. 7 | 8 | .. code-block:: javascript 9 | 10 | var tilelayer = new GTileLayer(null, null, null, { 11 | tileUrlTemplate: 'http://localhost:8080/geowebcache/service/gmaps?layers=layer-name&zoom={Z}&x={X}&y={Y}&format=image/png', 12 | isPng:true, 13 | opacity:0.5 } ); 14 | 15 | In the example above Google Maps will automatically fill in {Z}, {X} and {Y} with the appropriate location. You must replace ``http://localhost:8080/geowebcache`` with the appropriate URL and replace ``layer-name``. If you wish you can also replace image/png to use JPEG, 8 bit PNG or GIF. 16 | -------------------------------------------------------------------------------- /documentation/en/user/source/services/index.rst: -------------------------------------------------------------------------------- 1 | .. _services: 2 | 3 | Services 4 | ======== 5 | 6 | Below is a list of the standard services distributed with GeoWebCache. Being modular, it is usually easy to add new services. The file geowebcache-servlet.xml can be edited to disable certain services. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | wms.rst 12 | wmts.rst 13 | tms.rst 14 | kml.rst 15 | gmaps.rst 16 | bingmaps.rst 17 | mobilegmaps.rst 18 | responseheaders.rst 19 | 20 | -------------------------------------------------------------------------------- /documentation/en/user/source/services/mobilegmaps.rst: -------------------------------------------------------------------------------- 1 | .. _mobilegmaps: 2 | 3 | Mobile GMaps 4 | ============ 5 | 6 | Mobile GMaps is a small J2ME program. The API is similar to that of Google Maps, but for the z-index it uses (z_google - 18), so zoom level 18 is 0. 7 | -------------------------------------------------------------------------------- /documentation/en/user/source/webinterface/index.rst: -------------------------------------------------------------------------------- 1 | .. _webinterface: 2 | 3 | Web Interface 4 | ============= 5 | 6 | GeoWebCache has a minimal web interface. While not fully featured, it allows the user to perform common tasks, such as: listing and viewing layers; reloading configuration; starting seeding tasks and viewing server statistics. 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | status 12 | demo 13 | seed 14 | -------------------------------------------------------------------------------- /geowebcache/.mvn/jvm.config: -------------------------------------------------------------------------------- 1 | --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED 2 | --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED 3 | --add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED 4 | --add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED 5 | --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED 6 | --add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED 7 | --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED 8 | --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED 9 | --add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED 10 | --add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED 11 | -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/java/org/geowebcache/arcgis/layer/ArcGISLayerXMLConfigurationProviderTest.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.arcgis.layer; 2 | 3 | import com.thoughtworks.xstream.XStream; 4 | import java.util.HashMap; 5 | import java.util.Map; 6 | import org.geowebcache.io.GeoWebCacheXStream; 7 | import org.junit.Assert; 8 | import org.junit.Test; 9 | 10 | public class ArcGISLayerXMLConfigurationProviderTest { 11 | 12 | @Test 13 | public void testGetConfiguredXStream() { 14 | 15 | final Map aliases = new HashMap<>(); 16 | XStream xs = new ArcGISLayerXMLConfigurationProvider().getConfiguredXStream(new GeoWebCacheXStream() { 17 | @Override 18 | public void alias(String alias, Class c) { 19 | aliases.put(alias, c); 20 | } 21 | }); 22 | 23 | Assert.assertNotNull(xs); 24 | Assert.assertEquals(ArcGISCacheLayer.class, aliases.get("arcgisLayer")); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/compactcache/_alllayers/L05/R0000C0000.bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/arcgiscache/src/test/resources/compactcache/_alllayers/L05/R0000C0000.bundle -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/compactcache/_alllayers/L05/R0000C0000.bundlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/arcgiscache/src/test/resources/compactcache/_alllayers/L05/R0000C0000.bundlx -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/compactcache/_alllayers/L06/R0000C0000.bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/arcgiscache/src/test/resources/compactcache/_alllayers/L06/R0000C0000.bundle -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/compactcache/_alllayers/L06/R0000C0000.bundlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/arcgiscache/src/test/resources/compactcache/_alllayers/L06/R0000C0000.bundlx -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/compactcache/conf.cdi: -------------------------------------------------------------------------------- 1 | -13885038.3829609212870337.1307936818-7455049.4891824216338174.0557576185PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG",3857]]-20037700-30241100148923141.92838538-10000010000-100000100000.0010.0010.001true102100 -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/compactcacheV2/_alllayers/L04/R0000C0000.bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/arcgiscache/src/test/resources/compactcacheV2/_alllayers/L04/R0000C0000.bundle -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/compactcacheV2/_alllayers/L05/R0000C0000.bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/arcgiscache/src/test/resources/compactcacheV2/_alllayers/L05/R0000C0000.bundle -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/compactcacheV2/conf.cdi: -------------------------------------------------------------------------------- 1 | -13885038.3829609212870337.1307936818-7455049.4891824216338174.0557576185PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG",3857]]-20037700-30241100148923141.92838538-10000010000-100000100000.0010.0010.001true1021003857 -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/arcgiscache/src/test/resources/org/geowebcache/arcgis/layer/geowebcache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.13.0 4 | 120 5 | 6 | GeoWebCache 7 | GeoWebCache is an advanced tile cache for WMS servers. It supports a large variety of protocols and 8 | formats, including WMS-C, WMTS, KML, Google Maps and Virtual Earth. 9 | 10 | NONE 11 | NONE 12 | 13 | 14 | 15 | testExisting 16 | TILING_SCHEME_PATH 17 | false 18 | esriMapCacheStorageModeCompact 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /geowebcache/azureblob/src/test/resources/appContextTestAzure.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | Bean configuration file for the gwc-azure-blob tests 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /geowebcache/azureblob/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/azureblob/src/test/resources/org/geowebcache/azure/blobstore.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | Azure-BlobStore 11 | true 12 | ${CONTAINER} 13 | myname 14 | ${MYKEY} 15 | 30 16 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/GeoWebCacheException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Arne Kepp, The Open Planning Project, Copyright 2008 13 | */ 14 | package org.geowebcache; 15 | 16 | public class GeoWebCacheException extends Exception { 17 | /** */ 18 | private static final long serialVersionUID = 5837933971679774371L; 19 | 20 | public GeoWebCacheException(String msg) { 21 | super(msg); 22 | } 23 | 24 | public GeoWebCacheException(Throwable thrw) { 25 | super(thrw); 26 | } 27 | 28 | public GeoWebCacheException(String msg, Throwable cause) { 29 | super(msg, cause); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/ReinitializingBean.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2018 13 | */ 14 | package org.geowebcache; 15 | 16 | import org.springframework.beans.factory.InitializingBean; 17 | 18 | /** 19 | * Bean which can be reset to its initial condition. 20 | * 21 | * @author smithkm 22 | */ 23 | public interface ReinitializingBean extends InitializingBean { 24 | /** Reinitialize the configuration from its persistence. */ 25 | default void reinitialize() throws Exception { 26 | afterPropertiesSet(); 27 | } 28 | 29 | /** Prepare to be reinitialized. */ 30 | void deinitialize() throws Exception; 31 | } 32 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/UncheckedGeoWebCacheException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Kevin Smith, Boundless, 2017 13 | */ 14 | package org.geowebcache; 15 | 16 | import java.util.Objects; 17 | 18 | public class UncheckedGeoWebCacheException extends RuntimeException { 19 | 20 | /** serialVersionUID */ 21 | private static final long serialVersionUID = -7981050129260733945L; 22 | 23 | public UncheckedGeoWebCacheException(GeoWebCacheException cause) { 24 | super(cause); 25 | Objects.requireNonNull(cause); 26 | } 27 | 28 | @Override 29 | public synchronized GeoWebCacheException getCause() { 30 | return (GeoWebCacheException) super.getCause(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/config/ConfigurationAggregator.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2018 13 | */ 14 | package org.geowebcache.config; 15 | 16 | import java.util.List; 17 | 18 | /** 19 | * Interface for aggregators of {@link BaseConfiguration} implementations. 20 | * 21 | * @see org.geowebcache.layer.TileLayerDispatcher 22 | * @see org.geowebcache.grid.GridSetBroker 23 | * @see org.geowebcache.storage.BlobStoreAggregator 24 | */ 25 | public interface ConfigurationAggregator { 26 | List getConfigurations(Class clazz); 27 | } 28 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/config/DefaultingConfiguration.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2018 13 | */ 14 | package org.geowebcache.config; 15 | 16 | import org.geowebcache.layer.TileLayer; 17 | 18 | /** Applies default values to a layer that has not been fully initialized. */ 19 | public interface DefaultingConfiguration extends BaseConfiguration { 20 | 21 | /** 22 | * TileLayerConfiguration objects lacking their own defaults can delegate to this. Should set values in the default 23 | * geowebcache.xml to the TileLayer configuration, and fall back on implemented default values if missing. 24 | */ 25 | void setDefaultValues(TileLayer layer); 26 | } 27 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/config/Info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2018 13 | */ 14 | package org.geowebcache.config; 15 | 16 | /** 17 | * A specific unit of configurable information such as a GridSet or Layer. 18 | * 19 | * @author smithkm 20 | */ 21 | public interface Info { 22 | 23 | /** 24 | * Get the unique identifier (name) of the configuration element 25 | * 26 | * @return the name 27 | */ 28 | String getName(); 29 | } 30 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/grid/BoundingBoxException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.grid; 15 | 16 | import org.geowebcache.GeoWebCacheException; 17 | 18 | public class BoundingBoxException extends GeoWebCacheException { 19 | private static final long serialVersionUID = -3727985329718467002L; 20 | 21 | public BoundingBoxException(String msg) { 22 | super(msg); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/grid/GridMismatchException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.grid; 15 | 16 | import org.geowebcache.GeoWebCacheException; 17 | 18 | public abstract class GridMismatchException extends GeoWebCacheException { 19 | 20 | public GridMismatchException(String msg) { 21 | super(msg); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/grid/ResolutionMismatchException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Arne Kepp, Copyright 2010 13 | */ 14 | package org.geowebcache.grid; 15 | 16 | public class ResolutionMismatchException extends GridMismatchException { 17 | 18 | public ResolutionMismatchException(double wRes, double bestResolution) { 19 | super("Requested horizontal resolution: " 20 | + wRes 21 | + " , best match: " 22 | + bestResolution 23 | + " exceeds 10% threshold. Perhaps the client is configured " 24 | + " with an incorrect set of scales (resolutions), " 25 | + " or the DPI setting is off compared to the one in GWC ?"); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/grid/TileDimensionsMismatchException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Arne Kepp, Copyright 2010 13 | */ 14 | package org.geowebcache.grid; 15 | 16 | public class TileDimensionsMismatchException extends GridMismatchException { 17 | 18 | public TileDimensionsMismatchException(int height, int width, int gsHeight, int gsWidth) { 19 | super("The requested tile dimensions " 20 | + width 21 | + "x" 22 | + height 23 | + " do not match those of the grid set (" 24 | + gsWidth 25 | + "x" 26 | + gsHeight 27 | + ")"); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/layer/BadTileException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Arne Kepp, The Open Planning Project, Copyright 2008 13 | */ 14 | package org.geowebcache.layer; 15 | 16 | import org.geowebcache.GeoWebCacheException; 17 | 18 | public class BadTileException extends GeoWebCacheException { 19 | /** */ 20 | private static final long serialVersionUID = -8591262755936233177L; 21 | 22 | public BadTileException(String msg) { 23 | super(msg); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/layer/ExpirationRule.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.layer; 15 | 16 | import java.io.Serializable; 17 | 18 | public class ExpirationRule implements Serializable { 19 | private int minZoom; 20 | 21 | private int expiration; 22 | 23 | ExpirationRule() { 24 | // default constructor for XStream 25 | } 26 | 27 | public ExpirationRule(int minZoom, int expiration) { 28 | this.minZoom = minZoom; 29 | this.expiration = expiration; 30 | } 31 | 32 | public int getMinZoom() { 33 | return minZoom; 34 | } 35 | 36 | public int getExpiration() { 37 | return expiration; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/layer/ProxyLayer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Andrea Aime, GeoSolutions, Copyright 2014 13 | */ 14 | package org.geowebcache.layer; 15 | 16 | import org.geowebcache.GeoWebCacheException; 17 | import org.geowebcache.conveyor.ConveyorTile; 18 | 19 | /** 20 | * Implemented by layers that are able to cascade requests (such as the WMS ones) to the underlying back-end 21 | * 22 | * @author Andrea Aime - GeoSolutions 23 | */ 24 | public interface ProxyLayer { 25 | 26 | public void proxyRequest(ConveyorTile tile) throws GeoWebCacheException; 27 | } 28 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/layer/TileJSONProvider.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2021 13 | */ 14 | package org.geowebcache.layer; 15 | 16 | import org.geowebcache.layer.meta.TileJSON; 17 | 18 | /** Interface to be implemented by layers which can provide a TileJSON document */ 19 | public interface TileJSONProvider { 20 | 21 | /* Returns true if TileJSON is supported or not compatible */ 22 | boolean supportsTileJSON(); 23 | 24 | /* Returns a TileJSON for this layer, or null if not supported or not compatible */ 25 | TileJSON getTileJSON(); 26 | } 27 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/layer/TileLayerDispatcherFilter.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author David Blasby, GeoCat, Copyright 2022 13 | */ 14 | package org.geowebcache.layer; 15 | 16 | /** 17 | * Filter interface for the TileLayerDispatcher. This allows layers to be excluded from the list of available layers. 18 | */ 19 | public interface TileLayerDispatcherFilter { 20 | 21 | /** 22 | * Determine if the layer should be excluded (filtered out). 23 | * 24 | * @param tileLayer 25 | * @return true if this tileLayer should be excluded (filtered out) 26 | */ 27 | boolean exclude(TileLayer tileLayer); 28 | } 29 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/layer/TileLayerListener.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.layer; 15 | 16 | import java.util.EventListener; 17 | import org.geowebcache.conveyor.ConveyorTile; 18 | 19 | public interface TileLayerListener extends EventListener { 20 | 21 | void tileRequested(TileLayer layer, ConveyorTile tile); 22 | } 23 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/layer/TileResponseReceiver.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.layer; 15 | 16 | public interface TileResponseReceiver { 17 | public void setStatus(int status); 18 | 19 | public int getStatus(); 20 | 21 | public void setExpiresHeader(long seconds); 22 | 23 | public long getExpiresHeader(); 24 | 25 | public void setError(); 26 | 27 | public boolean getError(); 28 | 29 | public void setErrorMessage(String message); 30 | 31 | public String getErrorMessage(); 32 | } 33 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/layer/meta/MetadataURL.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.layer.meta; 15 | 16 | import java.net.URL; 17 | 18 | public class MetadataURL { 19 | 20 | private String type; 21 | private String format; 22 | private URL url; 23 | 24 | public MetadataURL(String type, String format, URL url) { 25 | this.url = url; 26 | this.type = type; 27 | this.format = format; 28 | } 29 | 30 | public String getType() { 31 | return type; 32 | } 33 | 34 | public String getFormat() { 35 | return format; 36 | } 37 | 38 | public URL getUrl() { 39 | return url; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/layer/updatesource/UpdateSourceDefinition.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Arne Kepp, OpenGeo, Copyright 2010 13 | */ 14 | package org.geowebcache.layer.updatesource; 15 | 16 | /** 17 | * This class is not really used, but with XStream it's better to think too far ahead than to update the schemas later 18 | */ 19 | public abstract class UpdateSourceDefinition {} 20 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/locks/LockProvider.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.locks; 15 | 16 | import org.geowebcache.GeoWebCacheException; 17 | 18 | /** 19 | * Generic abstraction for getting/releasing exclusive locks 20 | * 21 | * @author Andrea Aime - GeoSolutions 22 | */ 23 | public interface LockProvider { 24 | 25 | /** Acquires a exclusive lock on the specified key */ 26 | public Lock getLock(String lockKey) throws GeoWebCacheException; 27 | 28 | public interface Lock { 29 | /** Releases the lock on the specified key */ 30 | public void release() throws GeoWebCacheException; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/locks/NoOpLockProvider.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.locks; 15 | 16 | import org.geowebcache.GeoWebCacheException; 17 | 18 | /** 19 | * A no-op implementation of LockProvider. It does not actually lock anything, can be used to test if the other 20 | * subsystems continue to work properly in face of absence of locks 21 | * 22 | * @author Andrea Aime - GeoSolutions 23 | */ 24 | public class NoOpLockProvider implements LockProvider { 25 | 26 | @Override 27 | public LockProvider.Lock getLock(String lockKey) throws GeoWebCacheException { 28 | return () -> { 29 | // nothing to do 30 | }; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/mime/MimeException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Arne Kepp, The Open Planning Project, Copyright 2008 13 | */ 14 | package org.geowebcache.mime; 15 | 16 | import org.geowebcache.GeoWebCacheException; 17 | 18 | public class MimeException extends GeoWebCacheException { 19 | 20 | /** */ 21 | private static final long serialVersionUID = 5435573041559578453L; 22 | 23 | public MimeException(String msg) { 24 | super(msg); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/seed/SeederException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Arne Kepp / The Open Planning Project 2008 13 | */ 14 | package org.geowebcache.seed; 15 | 16 | import org.geowebcache.GeoWebCacheException; 17 | 18 | public class SeederException extends GeoWebCacheException { 19 | 20 | /** */ 21 | private static final long serialVersionUID = -4713157240817256500L; 22 | 23 | public SeederException(String msg) { 24 | super(msg); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/service/ServiceException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.service; 15 | 16 | import org.geowebcache.GeoWebCacheException; 17 | 18 | public class ServiceException extends GeoWebCacheException { 19 | 20 | public ServiceException(Throwable thrw) { 21 | super(thrw); 22 | } 23 | 24 | public ServiceException(String message) { 25 | super(message); 26 | } 27 | 28 | private static final long serialVersionUID = 30867687291108387L; 29 | } 30 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/storage/StorageException.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2008 13 | */ 14 | package org.geowebcache.storage; 15 | 16 | import java.io.IOException; 17 | 18 | public class StorageException extends IOException { 19 | private static final long serialVersionUID = -8168546310999238936L; 20 | 21 | String msg; 22 | 23 | public StorageException(String msg) { 24 | this.msg = msg; 25 | } 26 | 27 | public StorageException(String msg, Throwable cause) { 28 | this.msg = msg; 29 | initCause(cause); 30 | } 31 | 32 | @Override 33 | public String getMessage() { 34 | return msg; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/storage/TileRangeMask.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2014 13 | */ 14 | package org.geowebcache.storage; 15 | 16 | import org.geowebcache.seed.GWCTask; 17 | 18 | /** 19 | * A mask applied to a {@link DiscontinuousTileRange} to limit which tiles are seeded/truncated out of the range's full 20 | * coverage by means of a {@link TileRangeIterator}. 21 | * 22 | * @see RasterMask 23 | * @see TileRangeIterator 24 | * @see GWCTask 25 | */ 26 | public interface TileRangeMask { 27 | 28 | public abstract long[][] getGridCoverages(); 29 | 30 | public abstract boolean lookup(long x, long y, int z); 31 | } 32 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/storage/blobstore/file/TileFileVisitor.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.storage.blobstore.file; 15 | 16 | import java.io.File; 17 | 18 | /** Visitor for a hierarchy of tile files. Roughly inspired by Java own {@link java.nio.file.FileVisitor} */ 19 | public interface TileFileVisitor { 20 | 21 | /** Invoked before visitng a directory */ 22 | default void preVisitDirectory(File dir) {} 23 | 24 | /** Invoked on a specific tile file */ 25 | public void visitFile(File tile, long x, long y, int z); 26 | 27 | /** Invoked on a directory post file visit */ 28 | default void postVisitDirectory(File dir) {} 29 | } 30 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/util/ExceptionUtils.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2018 13 | */ 14 | package org.geowebcache.util; 15 | 16 | import com.google.common.collect.Streams; 17 | import java.util.Arrays; 18 | import java.util.stream.Stream; 19 | 20 | public class ExceptionUtils { 21 | private ExceptionUtils() {} 22 | 23 | /** Returns true if the provided throwable is of the specified class, or if any of those is suppresses is. */ 24 | public static boolean isOrSuppresses(T e, Class klazz) { 25 | return Streams.concat(Stream.of(e), Arrays.stream(e.getSuppressed())).anyMatch(klazz::isInstance); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/java/org/geowebcache/util/Sleeper.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Kevin Smith, Boundless, Copyright 2017 13 | */ 14 | package org.geowebcache.util; 15 | 16 | /** 17 | * Functional interface for a sleep method. Used to allow mocking during unit tests. 18 | * 19 | * @see Thread#sleep(long) 20 | */ 21 | @FunctionalInterface 22 | public interface Sleeper { 23 | /** @see Thread#sleep(long) */ 24 | public void sleep(long millis) throws InterruptedException; 25 | } 26 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/examples/fileRasterFilterUpdateTest.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/examples/fileRasterFilterUpdateTest.zip -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/examples/layerTest.json: -------------------------------------------------------------------------------- 1 | {"wmslayer": { 2 | "palette":"", 3 | "wmsLayers":"topp:states", 4 | "wmsStyles":"population", 5 | "wmsUrl":["http://sigma.openplans.org:80/geoserver/wms"], 6 | "grids":[ 7 | [{"number":4326},{ 8 | "gridBounds":{"coords":[-180,-90,180,90]}, 9 | "srs":{"number":4326}, 10 | "dataBounds":{"coords":[-124.731422,24.955967,-66.969849,49.371735]}, 11 | "zoomStop":0, 12 | "zoomStart":0 13 | }], 14 | [{"number":900913},{ 15 | "gridBounds":{"coords":[-2.003750834E7,-2.003750834E7,2.003750834E7,2.003750834E7]}, 16 | "srs":{"number":900913}, 17 | "dataBounds":{"coords":[-1.3885038381028108E7,2870337.130394128,-7455049.488144671,6338174.0548753375]}, 18 | "zoomStop":0, 19 | "zoomStart":0 20 | }] 21 | ], 22 | "mimeFormats":["image/png","image/jpeg","application/vnd.google-earth.kml+xml"], 23 | "metaWidthHeight":[3,3], 24 | "transparent":true, 25 | "name":"topp:states", 26 | "vendorParameters":"format_options=regionateby:auto", 27 | "tiled":false, 28 | "bgColor":"" 29 | }} -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/examples/layerTest.xml: -------------------------------------------------------------------------------- 1 | 2 | layer1 3 | 4 | image/png 5 | 6 | 7 | 8 | EPSG:900913 9 | 10 | 11 | 12 | http://localhost:8080/geoserver/wms 13 | 14 | topp:states 15 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/examples/seedtest.json: -------------------------------------------------------------------------------- 1 | {"seedRequest":{ 2 | "name":"topp:states", 3 | "bounds":{"coords":{ "double":["-124.0","22.0","66.0","72.0"]}}, 4 | "srs":{"number":4326}, 5 | "zoomStart":1, 6 | "zoomStop":12, 7 | "format":"image\/png", 8 | "type":"seed", 9 | "threadCount":4 10 | } 11 | }} 12 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/examples/seedtest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | topp:states 4 | 5 | 6 | -2495667.977678598 7 | -2223677.196231552 8 | 3291070.6104286816 9 | 959189.3312465074 10 | 11 | 12 | 13 | 14 | EPSG:2163 15 | 0 16 | 17 | 2 18 | image/png 19 | 20 | 21 | truncate 22 | 23 | 24 | 1 25 | 26 | 27 | 28 | STYLES 29 | pophatch 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/examples/truncatetest.json: -------------------------------------------------------------------------------- 1 | {"seedRequest":{ 2 | "name":"topp:states", 3 | "bounds":{"coords":{ "double":["-124.0","22.0","66.0","72.0"]}}, 4 | "srs":{"number":4326}, 5 | "zoomStart":1, 6 | "zoomStop":12, 7 | "format":"image\/png", 8 | "type":"truncate", 9 | "threadCount":1 10 | } 11 | }} 12 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/examples/wmsRasterFilterUpdateTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4326 4 | 5 | 0 6 | 12 7 | 8 | 9 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/geowebcache_cite.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 1.13.0 6 | 120 7 | true 8 | 9 | 10 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/blank.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_10.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_100.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_101.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_102.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_110.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_113.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_114.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_115.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_120.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_121.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_122.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_124.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_125.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_126.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/config/geowebcache_150.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/filter/request/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/filter/request/green.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/geowebcache_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/geowebcache_logo.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/gwc.css: -------------------------------------------------------------------------------- 1 | @CHARSET "UTF-8"; 2 | 3 | body, td, th { 4 | font-family: Verdana,Arial,\'Bitstream Vera Sans\',Helvetica,sans-serif; 5 | font-size: 0.85em; 6 | vertical-align: top; 7 | } 8 | table.stats tbody + tbody tr * {padding-top: 1em;} 9 | table.stats tbody + tbody tr + tr * {padding-top: inherit;} 10 | table.stats th[scope=row] {text-align: right;} 11 | table.stats th[scope=col] {text-align: left;} 12 | 13 | #logo img {border-width: 0;} -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/blank.gif -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/close.gif -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/drag-rectangle-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/drag-rectangle-off.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/drag-rectangle-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/drag-rectangle-on.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/east-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/east-mini.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/layer-switcher-maximize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/layer-switcher-maximize.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/layer-switcher-minimize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/layer-switcher-minimize.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/marker-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/marker-blue.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/marker-gold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/marker-gold.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/marker-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/marker-green.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/marker.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/measuring-stick-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/measuring-stick-off.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/measuring-stick-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/measuring-stick-on.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/north-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/north-mini.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/panning-hand-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/panning-hand-off.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/panning-hand-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/panning-hand-on.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/slider.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/south-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/south-mini.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/west-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/west-mini.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/zoom-minus-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/zoom-minus-mini.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/zoom-plus-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/zoom-plus-mini.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/zoom-world-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/zoom-world-mini.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/zoombar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers/img/zoombar.png -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers3/wms.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Display a Geowebcache source on OL3 6 | 7 | 8 | Display a Geowebcache source on OL3 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |

21 | 22 | 23 | -------------------------------------------------------------------------------- /geowebcache/core/src/main/resources/org/geowebcache/rest/webresources/openlayers3/wmts.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Display a Geowebcache source on OL3 6 | 7 | 8 | Display a Geowebcache source on OL3 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 21 | 22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /geowebcache/core/src/test/java/org/geowebcache/blobstore/file/FileBlobStorePersistenceSuitabilityTest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Kevin Smith, Boundless, 2018 13 | */ 14 | package org.geowebcache.blobstore.file; 15 | 16 | import java.io.File; 17 | import org.geowebcache.storage.BlobStore; 18 | import org.geowebcache.storage.blobstore.file.FileBlobStore; 19 | 20 | /** Tests that FileBlobStore checks the provided directory for existing data before using it. */ 21 | public class FileBlobStorePersistenceSuitabilityTest extends FileBasedBlobStoreSuitabilityTest { 22 | 23 | @Override 24 | public BlobStore create(Object dir) throws Exception { 25 | return new FileBlobStore(((File) dir).getAbsolutePath()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /geowebcache/core/src/test/java/org/geowebcache/conveyor/ConveyorTileTest.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Kevin Smith, Boundless, Copyright 2018 13 | */ 14 | package org.geowebcache.conveyor; 15 | 16 | import static org.junit.Assert.assertNull; 17 | 18 | import org.junit.Test; 19 | 20 | public class ConveyorTileTest { 21 | 22 | @Test 23 | public void testGetGridSubsetWithNullGridsetId() { 24 | // All these nulls may need to be replace with mocks eventually. 25 | ConveyorTile tile = new ConveyorTile(null, null, null, null); 26 | tile.setGridSetId(null); // Should be this already but just to make sure. 27 | assertNull(tile.getGridSubset()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /geowebcache/core/src/test/java/org/geowebcache/mime/MimeTest.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.mime; 2 | 3 | import static org.junit.Assert.assertEquals; 4 | import static org.junit.Assert.assertFalse; 5 | import static org.junit.Assert.assertTrue; 6 | 7 | import org.junit.Test; 8 | 9 | public class MimeTest { 10 | // Test that static binary check matches the instance method 11 | @Test 12 | public void testIsBinary() throws Exception { 13 | assertTrue(MimeType.isBinary(ImageMime.png.mimeType)); 14 | assertFalse(MimeType.isBinary(XMLMime.gml.mimeType)); 15 | for (MimeType mt : ApplicationMime.ALL) { 16 | assertEquals(mt.isBinary(), MimeType.isBinary(mt.mimeType)); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /geowebcache/core/src/test/java/org/geowebcache/util/ByteUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.util; 2 | 3 | import org.junit.Assert; 4 | import org.junit.Before; 5 | import org.junit.Test; 6 | 7 | public class ByteUtilsTest { 8 | 9 | @Before 10 | public void setUp() throws Exception {} 11 | 12 | @Test 13 | public void testBasicConversion() throws Exception { 14 | basicConversion(0); 15 | basicConversion(1); 16 | basicConversion(2); 17 | basicConversion(200); 18 | basicConversion(300); 19 | basicConversion(1025); 20 | } 21 | 22 | private void basicConversion(int number) throws Exception { 23 | byte[] testB = ByteUtils.uIntLongToByteWord(number); 24 | long testL = ByteUtils.bytesToUIntLong(testB, 0); 25 | 26 | Assert.assertEquals(number, testL); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/images/4bit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/images/4bit.png -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/config/geowebcache-empty.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 1.8.0 6 | 120 7 | 8 | GeoWebCache 9 | 10 | 11 | 12 | NONE 13 | NONE 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/config/geowebcache-test-correct-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 1.7.0 6 | 7 | 8 | 9 | 10 | 11 | LOADED_CORRECT_CONFIG_FILE 12 | 13 | http://example.com/ 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/diskquota_page_store/00000000.jdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/diskquota_page_store/00000000.jdb -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/diskquota_page_store/je.info.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/diskquota_page_store/je.info.0 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/diskquota_page_store/je.lck: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/diskquota_page_store/je.lck -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/meta_jdbc_h2/gwc_metastore.3.log.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/meta_jdbc_h2/gwc_metastore.3.log.db -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/meta_jdbc_h2/gwc_metastore.data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/meta_jdbc_h2/gwc_metastore.data.db -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/meta_jdbc_h2/gwc_metastore.index.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/meta_jdbc_h2/gwc_metastore.index.db -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/raster_test_layer/EPSG_900913_01/0_0/00_00.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/raster_test_layer/EPSG_900913_01/0_0/00_00.jpeg -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/raster_test_layer/EPSG_900913_01/0_0/00_01.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/raster_test_layer/EPSG_900913_01/0_0/00_01.jpeg -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/raster_test_layer/EPSG_900913_01/0_0/01_00.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/raster_test_layer/EPSG_900913_01/0_0/01_00.jpeg -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/raster_test_layer/EPSG_900913_01/0_0/01_01.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/raster_test_layer/EPSG_900913_01/0_0/01_01.jpeg -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/02_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/02_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/02_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/02_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/02_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/02_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/02_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/02_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/03_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/03_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/03_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/03_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/03_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/03_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/03_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/0_1/03_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/04_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/04_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/04_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/04_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/04_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/04_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/04_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/04_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/05_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/05_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/05_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/05_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/05_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/05_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/05_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03/1_1/05_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/02_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/02_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/02_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/02_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/02_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/02_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/02_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/02_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/03_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/03_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/03_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/03_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/03_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/03_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/03_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/0_1/03_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/04_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/04_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/04_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/04_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/04_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/04_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/04_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/04_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/05_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/05_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/05_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/05_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/05_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/05_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/05_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_1/1_1/05_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/02_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/02_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/02_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/02_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/02_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/02_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/02_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/02_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/03_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/03_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/03_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/03_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/03_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/03_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/03_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/0_1/03_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/04_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/04_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/04_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/04_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/04_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/04_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/04_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/04_07.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/05_04.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/05_04.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/05_05.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/05_05.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/05_06.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/05_06.png8 -------------------------------------------------------------------------------- /geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/05_07.png8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/core/src/test/resources/org/geowebcache/ms_removal/topp_states/EPSG_4326_03_2/1_1/05_07.png8 -------------------------------------------------------------------------------- /geowebcache/diskquota/bdb/src/test/java/org/geowebcache/diskquota/MockSystemUtils.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.diskquota; 2 | 3 | import org.geowebcache.diskquota.storage.SystemUtils; 4 | 5 | public class MockSystemUtils extends SystemUtils { 6 | 7 | private int currTimeMinutes = -1; 8 | 9 | private long currTimeMillis = -1; 10 | 11 | public void setCurrentTimeMinutes(int currTimeMinutes) { 12 | this.currTimeMinutes = currTimeMinutes; 13 | } 14 | 15 | public void setCurrentTimeMillis(long currTimeMillis) { 16 | this.currTimeMillis = currTimeMillis; 17 | } 18 | 19 | @Override 20 | public int currentTimeMinutes() { 21 | return currTimeMinutes != -1 ? currTimeMinutes : super.currentTimeMinutes(); 22 | } 23 | 24 | @Override 25 | public long currentTimeMillis() { 26 | return currTimeMillis != -1 ? currTimeMillis : super.currentTimeMillis(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /geowebcache/diskquota/bdb/src/test/resources/log4j2-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | > 7 | 8 | 9 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /geowebcache/diskquota/bdb/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers = org.apache.logging.log4j.jul.Log4jBridgeHandler 2 | org.apache.logging.log4j.jul.Log4jBridgeHandler.propagateLevels = true -------------------------------------------------------------------------------- /geowebcache/diskquota/core/src/main/java/org/geowebcache/diskquota/ExpirationPolicy.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | *

Copyright 2019 13 | */ 14 | package org.geowebcache.diskquota; 15 | 16 | public enum ExpirationPolicy { 17 | LRU, 18 | LFU 19 | } 20 | -------------------------------------------------------------------------------- /geowebcache/diskquota/core/src/main/java/org/geowebcache/diskquota/storage/TileSetVisitor.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Gabriel Roldan (OpenGeo) 2010 13 | */ 14 | package org.geowebcache.diskquota.storage; 15 | 16 | import org.geowebcache.diskquota.QuotaStore; 17 | 18 | public interface TileSetVisitor { 19 | 20 | void visit(TileSet tileSet, QuotaStore quotaStore); 21 | } 22 | -------------------------------------------------------------------------------- /geowebcache/diskquota/core/src/test/java/org/geowebcache/diskquota/storage/MockSystemUtils.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.diskquota.storage; 2 | 3 | public class MockSystemUtils extends SystemUtils { 4 | 5 | private int currTimeMinutes = -1; 6 | 7 | private long currTimeMillis = -1; 8 | 9 | public void setCurrentTimeMinutes(int currTimeMinutes) { 10 | this.currTimeMinutes = currTimeMinutes; 11 | } 12 | 13 | public void setCurrentTimeMillis(long currTimeMillis) { 14 | this.currTimeMillis = currTimeMillis; 15 | } 16 | 17 | @Override 18 | public int currentTimeMinutes() { 19 | return currTimeMinutes != -1 ? currTimeMinutes : super.currentTimeMinutes(); 20 | } 21 | 22 | @Override 23 | public long currentTimeMillis() { 24 | return currTimeMillis != -1 ? currTimeMillis : super.currentTimeMillis(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /geowebcache/diskquota/core/src/test/resources/geowebcache-diskquota.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | false 6 | 4096 7 | 8 | 10 9 | SECONDS 10 | 11 | 3 12 | 13 | LFU 14 | 15 | 200 16 | GiB 17 | 18 | 19 | 20 | 21 | topp:states 22 | LFU 23 | 24 | 100 25 | MiB 26 | 27 | 28 | 29 | 30 | raster test layer 31 | LRU 32 | 33 | 3 34 | GiB 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /geowebcache/diskquota/jdbc/src/main/java/org/geowebcache/diskquota/jdbc/H2Dialect.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Andrea Aime - GeoSolutions Copyright 2012 13 | */ 14 | package org.geowebcache.diskquota.jdbc; 15 | 16 | /** 17 | * H2 dialect for the quota store 18 | * 19 | * @author Andrea Aime - GeoSolutions 20 | */ 21 | public class H2Dialect extends SQLDialect {} 22 | -------------------------------------------------------------------------------- /geowebcache/diskquota/jdbc/src/main/java/org/geowebcache/diskquota/jdbc/PostgreSQLDialect.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Andrea Aime - GeoSolutions Copyright 2012 13 | */ 14 | package org.geowebcache.diskquota.jdbc; 15 | 16 | /** 17 | * PostgreSQL specific dialect 18 | * 19 | * @author Andrea Aime - GeoSolutions 20 | */ 21 | public class PostgreSQLDialect extends SQLDialect {} 22 | -------------------------------------------------------------------------------- /geowebcache/diskquota/jdbc/src/test/java/org/geowebcache/diskquota/jdbc/H2QuotaStoreTest.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.diskquota.jdbc; 2 | 3 | import java.util.Properties; 4 | import org.junit.Test; 5 | 6 | public class H2QuotaStoreTest extends JDBCQuotaStoreTest { 7 | 8 | @Override 9 | protected SQLDialect getDialect() { 10 | return new H2Dialect(); 11 | } 12 | 13 | @Override 14 | protected JDBCFixtureRule makeFixtureRule() { 15 | return new JDBCFixtureRule(getFixtureId()) { 16 | @Override 17 | protected Properties createOfflineFixture() { 18 | Properties fixture = new Properties(); 19 | fixture.put("driver", "org.h2.Driver"); 20 | fixture.put("url", "jdbc:h2:./target/quota-h2"); 21 | fixture.put("username", "sa"); 22 | fixture.put("password", ""); 23 | return fixture; 24 | } 25 | }; 26 | } 27 | 28 | @Override 29 | protected String getFixtureId() { 30 | return "h2"; 31 | } 32 | 33 | @Test 34 | public void checkConnectionTest() {} 35 | } 36 | -------------------------------------------------------------------------------- /geowebcache/diskquota/jdbc/src/test/java/org/geowebcache/diskquota/jdbc/HSQLQuotaStoreTest.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.diskquota.jdbc; 2 | 3 | import java.util.Properties; 4 | 5 | public class HSQLQuotaStoreTest extends JDBCQuotaStoreTest { 6 | 7 | @Override 8 | protected SQLDialect getDialect() { 9 | return new HSQLDialect(); 10 | } 11 | 12 | @Override 13 | protected JDBCFixtureRule makeFixtureRule() { 14 | return new JDBCFixtureRule(getFixtureId()) { 15 | 16 | @Override 17 | protected Properties createOfflineFixture() { 18 | Properties fixture = new Properties(); 19 | fixture.put("driver", "org.hsqldb.jdbcDriver"); 20 | fixture.put("url", "jdbc:hsqldb:file:./target/quota-hsql"); 21 | fixture.put("username", "sa"); 22 | fixture.put("password", ""); 23 | return fixture; 24 | } 25 | }; 26 | } 27 | 28 | @Override 29 | protected String getFixtureId() { 30 | return "hsql"; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /geowebcache/diskquota/jdbc/src/test/java/org/geowebcache/diskquota/jdbc/MockSystemUtils.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.diskquota.jdbc; 2 | 3 | import org.geowebcache.diskquota.storage.SystemUtils; 4 | 5 | public class MockSystemUtils extends SystemUtils { 6 | 7 | private int currTimeMinutes = -1; 8 | 9 | private long currTimeMillis = -1; 10 | 11 | public void setCurrentTimeMinutes(int currTimeMinutes) { 12 | this.currTimeMinutes = currTimeMinutes; 13 | } 14 | 15 | public void setCurrentTimeMillis(long currTimeMillis) { 16 | this.currTimeMillis = currTimeMillis; 17 | } 18 | 19 | @Override 20 | public int currentTimeMinutes() { 21 | return currTimeMinutes != -1 ? currTimeMinutes : super.currentTimeMinutes(); 22 | } 23 | 24 | @Override 25 | public long currentTimeMillis() { 26 | return currTimeMillis != -1 ? currTimeMillis : super.currentTimeMillis(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /geowebcache/diskquota/jdbc/src/test/java/org/geowebcache/diskquota/jdbc/PostgreSQLQuotaStoreTest.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.diskquota.jdbc; 2 | 3 | import java.util.Properties; 4 | 5 | public class PostgreSQLQuotaStoreTest extends JDBCQuotaStoreTest { 6 | 7 | @Override 8 | protected SQLDialect getDialect() { 9 | return new PostgreSQLDialect(); 10 | } 11 | 12 | @Override 13 | protected String getFixtureId() { 14 | return "postgresql"; 15 | } 16 | 17 | @Override 18 | protected JDBCFixtureRule makeFixtureRule() { 19 | return new JDBCFixtureRule(getFixtureId()) { 20 | @Override 21 | protected Properties createExampleFixture() { 22 | Properties p = new Properties(); 23 | p.put("driver", "org.postgresql.Driver"); 24 | p.put("url", "jdbc:postgresql:gttest"); 25 | p.put("username", "cite"); 26 | p.put("password", "cite"); 27 | 28 | return p; 29 | } 30 | }; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /geowebcache/diskquota/jdbc/src/test/resources/gwc-test-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 1.8.0 6 | 7 | 8 | topp:states3 9 | 10 | image/png 11 | 12 | 13 | 14 | EPSG:4326 15 | 16 | 17 | EPSG:2163 18 | 19 | 20 | 21 | 22 | STYLES 23 | population 24 | 25 | 26 | 27 | http://demo.opengeo.org/geoserver/topp/wms 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /geowebcache/diskquota/jdbc/src/test/resources/log4j2-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | > 7 | 8 | 9 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /geowebcache/diskquota/jdbc/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers = org.apache.logging.log4j.jul.Log4jBridgeHandler 2 | org.apache.logging.log4j.jul.Log4jBridgeHandler.propagateLevels = true -------------------------------------------------------------------------------- /geowebcache/diskquota/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 4.0.0 5 | 6 | org.geowebcache 7 | geowebcache 8 | 1.28-SNAPSHOT 9 | 10 | 11 | org.geowebcache 12 | gwc-diskquota 13 | pom 14 | Disk Quota management module 15 | https://geowebcache.osgeo.org 16 | 17 | 18 | core 19 | bdb 20 | jdbc 21 | 22 | 23 | -------------------------------------------------------------------------------- /geowebcache/distributed/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/georss/src/main/java/org/geowebcache/georss/GeoRSSReader.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Gabriel Roldan (OpenGeo) 2010 13 | */ 14 | package org.geowebcache.georss; 15 | 16 | import java.io.IOException; 17 | 18 | interface GeoRSSReader { 19 | 20 | public Entry nextEntry() throws IOException; 21 | } 22 | -------------------------------------------------------------------------------- /geowebcache/georss/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/gmaps/src/test/java/org/geowebcache/layer/TileLayerDispatcherMock.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.layer; 2 | 3 | import org.geowebcache.GeoWebCacheException; 4 | 5 | public class TileLayerDispatcherMock extends TileLayerDispatcher { 6 | 7 | private final TileLayer layer; 8 | 9 | public TileLayerDispatcherMock(TileLayer layer) { 10 | super(null, null); 11 | this.layer = layer; 12 | } 13 | 14 | @Override 15 | public TileLayer getTileLayer(String layerIdent) throws GeoWebCacheException { 16 | return layer; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /geowebcache/gmaps/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/kml/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 4.0.0 5 | 6 | org.geowebcache 7 | geowebcache 8 | 1.28-SNAPSHOT 9 | 10 | 11 | org.geowebcache 12 | gwc-kml 13 | jar 14 | gwc-kml 15 | https://geowebcache.osgeo.org 16 | 17 | 18 | 19 | org.geowebcache 20 | gwc-core 21 | ${project.version} 22 | 23 | 24 | 25 | javax.servlet 26 | javax.servlet-api 27 | 28 | 29 | 30 | 31 | junit 32 | junit 33 | test 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /geowebcache/kml/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/mbtiles/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/mbtiles/src/test/resources/org/geowebcache/mbtiles/layer/geowebcache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.20.0 4 | 120 5 | 6 | GeoWebCache 7 | GeoWebCache is an advanced tile cache for WMS servers. It supports a large variety of protocols and 8 | formats, including WMS-C, WMTS, KML, Google Maps and Virtual Earth. 9 | 10 | NONE 11 | NONE 12 | 13 | 14 | 15 | world_lakes.mbtiles 16 | 17 | 18 | manypoints_test.mbtiles 19 | 256 20 | testName 21 | 22 | TestTitle 23 | TestDescription 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /geowebcache/mbtiles/src/test/resources/org/geowebcache/mbtiles/layer/manypoints_test.mbtiles: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/mbtiles/src/test/resources/org/geowebcache/mbtiles/layer/manypoints_test.mbtiles -------------------------------------------------------------------------------- /geowebcache/mbtiles/src/test/resources/org/geowebcache/mbtiles/layer/world_lakes.mbtiles: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/mbtiles/src/test/resources/org/geowebcache/mbtiles/layer/world_lakes.mbtiles -------------------------------------------------------------------------------- /geowebcache/release/doc.xml: -------------------------------------------------------------------------------- 1 | 2 | doc 3 | 4 | zip 5 | 6 | false 7 | 8 | 9 | ../documentation/en/user/build/html 10 | geowebcache-1.28-SNAPSHOT/doc 11 | 12 | **/* 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /geowebcache/release/src.xml: -------------------------------------------------------------------------------- 1 | 2 | src 3 | 4 | zip 5 | 6 | false 7 | 8 | 9 | ${project.basedir} 10 | geowebcache-1.28-SNAPSHOT/ 11 | true 12 | 13 | **/${project.build.directory}/** 14 | target 15 | **/target/** 16 | .settings 17 | **/.settings/** 18 | **/.settings 19 | .project 20 | **/.project 21 | .classpath 22 | **/.classpath 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /geowebcache/release/war.xml: -------------------------------------------------------------------------------- 1 | 2 | war 3 | 4 | zip 5 | 6 | false 7 | 8 | 9 | 10 | web/target 11 | 12 | 13 | geowebcache.war 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | LICENSE.txt 22 | 23 | 24 | 25 | 26 | 27 | 28 | org.geowebcache:gwc-web 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /geowebcache/rest/src/main/java/org/geowebcache/rest/filter/XmlFilterUpdate.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author David Vick, Boundless, Copyright 2017 13 | */ 14 | package org.geowebcache.rest.filter; 15 | 16 | import java.io.IOException; 17 | import org.geowebcache.filter.request.RequestFilter; 18 | import org.geowebcache.layer.TileLayer; 19 | import org.geowebcache.rest.exception.RestException; 20 | 21 | public abstract class XmlFilterUpdate { 22 | public abstract void runUpdate(RequestFilter filter, TileLayer tl) throws IOException, RestException; 23 | } 24 | -------------------------------------------------------------------------------- /geowebcache/rest/src/main/java/org/geowebcache/rest/webresources/WebResourceBundle.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Marius Suta / The Open Planning Project 2008 13 | * @author Arne Kepp / The Open Planning Project 2009 14 | * @author Kevin Smith, Boundless 15 | */ 16 | package org.geowebcache.rest.webresources; 17 | 18 | import java.net.URL; 19 | import java.util.function.Function; 20 | 21 | /** 22 | * Represents a bundle of resources for the web UI 23 | * 24 | * @author Kevin Smith 25 | */ 26 | public interface WebResourceBundle extends Function {} 27 | -------------------------------------------------------------------------------- /geowebcache/rest/src/main/resources/org/geowebcache/rest/webresources/seed.js: -------------------------------------------------------------------------------- 1 | 2 | window.onload = function() { 3 | document.getElementById('list').list.onchange = function() { 4 | document.getElementById('list').submit(); 5 | }; 6 | }; 7 | -------------------------------------------------------------------------------- /geowebcache/rest/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/rest/src/test/resources/org/geowebcache/rest/webresources/subdir/foo.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/rest/src/test/resources/org/geowebcache/rest/webresources/subdir/foo.css -------------------------------------------------------------------------------- /geowebcache/rest/src/test/resources/org/geowebcache/rest/webresources/test.css: -------------------------------------------------------------------------------- 1 | CSS -------------------------------------------------------------------------------- /geowebcache/rest/src/test/resources/org/geowebcache/rest/webresources/test.js: -------------------------------------------------------------------------------- 1 | JS 2 | -------------------------------------------------------------------------------- /geowebcache/rest/src/test/resources/org/geowebcache/rest/webresources/test.png: -------------------------------------------------------------------------------- 1 | TEST -------------------------------------------------------------------------------- /geowebcache/rest/src/test/resources/org/geowebcache/shouldnt/access/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/rest/src/test/resources/org/geowebcache/shouldnt/access/test.png -------------------------------------------------------------------------------- /geowebcache/s3storage/Readme.md: -------------------------------------------------------------------------------- 1 | Tidy up aws after working with tests 2 | === 3 | 4 | ``` 5 | aws s3 ls s3:/// | grep tmp_ | awk '{print $2}' | while read obj; do 6 | echo "Object: $obj" 7 | aws s3 rm s3://gwc-s3-test/$obj --recursive 8 | done 9 | 10 | ``` 11 | 12 | Replace the `` with the value configured in your system. 13 | This will delete all the temporary object that have been created 14 | 15 | 16 | Config file 17 | ==== 18 | Add a `.gwc_s3_tests.properties` to your home directory to get the integration tests to run. 19 | 20 | ``` 21 | cat .gwc_s3_tests.properties 22 | ``` 23 | _contents of file_ 24 | 25 | ``` 26 | bucket=gwc-s3-test 27 | secretKey=lxL***************************** 28 | accessKey=AK***************``` 29 | 30 | ``` 31 | -------------------------------------------------------------------------------- /geowebcache/s3storage/src/main/java/org/geowebcache/s3/Access.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Kevin Smith, Boundless, Copyright 2017 13 | */ 14 | package org.geowebcache.s3; 15 | 16 | /** Should external access to the S3 store be allowed. */ 17 | public enum Access { 18 | PUBLIC, 19 | PRIVATE 20 | } 21 | -------------------------------------------------------------------------------- /geowebcache/s3storage/src/test/java/org/geowebcache/s3/S3BlobStoreConfigTest.java: -------------------------------------------------------------------------------- 1 | package org.geowebcache.s3; 2 | 3 | import static org.junit.Assert.assertEquals; 4 | 5 | import com.amazonaws.services.s3.model.CannedAccessControlList; 6 | import org.junit.Test; 7 | 8 | public class S3BlobStoreConfigTest { 9 | 10 | @Test 11 | public void testACLPublic() { 12 | S3BlobStoreInfo config = new S3BlobStoreInfo(); 13 | config.setAccess(Access.PUBLIC); 14 | assertEquals(CannedAccessControlList.PublicRead, config.getAccessControlList()); 15 | } 16 | 17 | @Test 18 | public void testACLPrivate() { 19 | S3BlobStoreInfo config = new S3BlobStoreInfo(); 20 | config.setAccess(Access.PRIVATE); 21 | assertEquals(CannedAccessControlList.BucketOwnerFullControl, config.getAccessControlList()); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /geowebcache/s3storage/src/test/resources/appContextTestS3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-core module 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /geowebcache/s3storage/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/s3storage/src/test/resources/org/geowebcache/s3/blobstore.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | S3-BlobStore 4 | ${ENABLED} 5 | ${BUCKET} 6 | mykey 7 | mykey 8 | https://s3.${REGION}.amazonaws.com 9 | ${CONNECTIONS} 10 | -------------------------------------------------------------------------------- /geowebcache/sqlite/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/swiftblob/src/main/java/org/geowebcache/swift/IBlobStoreListenerNotifier.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Matthew Northcott, Catalyst IT Ltd NZ, Copyright 2020 13 | */ 14 | package org.geowebcache.swift; 15 | 16 | interface IBlobStoreListenerNotifier { 17 | void notifyListeners(); 18 | } 19 | -------------------------------------------------------------------------------- /geowebcache/swiftblob/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/swiftblob/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker: -------------------------------------------------------------------------------- 1 | mock-maker-inline -------------------------------------------------------------------------------- /geowebcache/tms/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/tools/nightly.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "This script is very purpose-specific, please edit the source to enable it for your particular environment" 3 | #exit 0 4 | 5 | TARGET_DIR=$HOME/nightly 6 | 7 | if [ -d $TARGET_DIR ]; then 8 | echo "build directory is $TARGET_DIR" 9 | else 10 | echo "creating target directory $TARGET_DIR" 11 | mkdir -p $TARGET_DIR 12 | fi 13 | 14 | cd $TARGET_DIR 15 | 16 | DATE=`date +%Y%m%d` 17 | NICEDATE=`date +%Y-%m-%d` 18 | rm -Rf $TARGET_DIR/geowebcache-* 19 | svn export http://geowebcache.org/svn/trunk/geowebcache $TARGET_DIR/geowebcache-$DATE 20 | zip -r $TARGET_DIR/geowebcache-$DATE-SRC.zip geowebcache-$DATE 21 | cd $TARGET_DIR/geowebcache-$DATE 22 | #echo "Enabling WAR build" 23 | #sed -i s/'WAR -->'/'>'/g pom.xml 24 | #sed -i s/' 4 | 4.0.0 5 | 6 | org.geowebcache 7 | geowebcache 8 | 1.28-SNAPSHOT 9 | 10 | 11 | org.geowebcache 12 | gwc-ve 13 | jar 14 | gwc-ve 15 | https://geowebcache.osgeo.org 16 | 17 | 18 | 19 | org.geowebcache 20 | gwc-core 21 | ${project.version} 22 | 23 | 24 | javax.servlet 25 | javax.servlet-api 26 | 27 | 28 | 29 | 30 | junit 31 | junit 32 | test 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /geowebcache/ve/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/web/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | gwc.context.suffix: -------------------------------------------------------------------------------- /geowebcache/web/src/main/resources/commons-logging.properties: -------------------------------------------------------------------------------- 1 | org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger 2 | log4j.configuration=log4j2.xml -------------------------------------------------------------------------------- /geowebcache/web/src/main/resources/log4j2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | > 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers = org.apache.logging.log4j.jul.Log4jBridgeHandler 2 | org.apache.logging.log4j.jul.Log4jBridgeHandler.propagateLevels = true -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-arcgiscache-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-arcgiscache module 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-distributed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-web module 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-georss-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-georss module 6 | 7 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-gmaps-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-gmaps module 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-kmlservice-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-kml module 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-mbtiles-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-mbtiles module 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-s3storage-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-aws-s3 module 6 | 7 | 8 | 9 | 10 | Contributes XStream configuration settings to org.geowebcache.config.XMLConfiguration to encode S3BlobStoreConfig instances 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-sqlite-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-swiftblob-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-swift module 6 | 7 | 8 | 9 | 10 | Contributes XStream configuration settings to org.geowebcache.config.XMLConfiguration to encode SwiftBlobStoreConfig instances 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-tmsservice-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-tms module 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-virtualearth-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bean configuration file for the gwc-ve module 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/geowebcache-wmtsservice-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | Bean configuration file for the gwc-wmts module 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/WEB-INF/users.properties: -------------------------------------------------------------------------------- 1 | geowebcache=secured,ROLE_ADMINISTRATOR -------------------------------------------------------------------------------- /geowebcache/web/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Click here to continue 8 | 9 | 10 | -------------------------------------------------------------------------------- /geowebcache/web/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers = org.apache.logging.log4j.jul.Log4jBridgeHandler 2 | org.apache.logging.log4j.jul.Log4jBridgeHandler.propagateLevels = true -------------------------------------------------------------------------------- /geowebcache/wms/src/main/java/org/geowebcache/config/wms/parameters/WMSDimensionProvider.java: -------------------------------------------------------------------------------- 1 | /** 2 | * This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General 3 | * Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any 4 | * later version. 5 | * 6 | *

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied 7 | * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 8 | * 9 | *

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see 10 | * . 11 | * 12 | * @author Arne Kepp, Copyright 2010 13 | */ 14 | package org.geowebcache.config.wms.parameters; 15 | 16 | public interface WMSDimensionProvider { 17 | public void appendDimensionElement(StringBuilder str, String indent); 18 | 19 | public void appendExtentElement(StringBuilder str, String indent); 20 | } 21 | -------------------------------------------------------------------------------- /geowebcache/wms/src/test/resources/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/wms/src/test/resources/image.png -------------------------------------------------------------------------------- /geowebcache/wms/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO -------------------------------------------------------------------------------- /geowebcache/wmts/src/test/resources/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GeoWebCache/geowebcache/2693514e702b93940c5a061e295abff811f70369/geowebcache/wmts/src/test/resources/image.png -------------------------------------------------------------------------------- /geowebcache/wmts/src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | handlers=java.util.logging.ConsoleHandler 2 | 3 | java.util.logging.ConsoleHandler.level = INFO 4 | java.util.logging.ConsoleHandler.formatter = org.geotools.util.logging.MonolineFormatter 5 | org.geotools.util.logging.MonolineFormatter.source = logger:long 6 | 7 | .level= INFO 8 | org.geotools.level = WARNING 9 | org.geowebcache.level = INFO 10 | org.geowebcache.config.XMLConfiguration.level = INFO --------------------------------------------------------------------------------