package org.openstreetmap.josm.plugins.imagery_cachexport; import org.apache.commons.jcs.access.CacheAccess; import org.openstreetmap.josm.data.cache.BufferedImageCacheEntry; import org.openstreetmap.josm.gui.layer.TMSLayer; /** * TMS specifics of the imagery tile export action. */ public class TMSImageryCacheExportAction extends AbstractImageryCacheExportAction { /** * Get the cache object of the TMS layer. * * @return Cache object of the TMS layer. */ @Override protected CacheAccess<String, BufferedImageCacheEntry> getCache() { return TMSLayer.getCache(); } /** * Get file name for a cache key. * * @param key Tile cache key. That is the full cache key with the key * prefix removed. * * @return File name for tile. */ @Override protected String getFilename(String key) { /* key examples: * http://www.bing.com/maps/14/8816/5480 * http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh7ifmo/{zoom}/{x}/{y}.png?access_token=abc/14/8816/5479 */ final String[] segs = key.split("/"); if (segs.length >= 3) { return segs[segs.length - 3] + "_" + segs[segs.length - 2] + "_" + segs[segs.length - 1] + ".jpg"; } return null; } }