/** * The default MIME type is the first one in the configuration * * @return */ public MimeType getDefaultMimeType() { return getMimeTypes().get(0); }
private Collection<String> getFormatNames( Optional<Collection<MimeType>> mimeTypes, TileLayer tileLayer) { return mimeTypes .map(Collection::stream) .orElseGet(() -> tileLayer.getMimeTypes().stream()) .map(MimeType::getFormat) .collect(Collectors.toList()); }
protected static List<String> getLayerFormats(TileLayer layer) throws IOException { return layer.getMimeTypes().stream().map(MimeType::getFormat).collect(Collectors.toList()); }
public Set<String> layerFormats(String layerName) { TileLayer layer; try { layer = layers.getTileLayer(layerName); } catch (GeoWebCacheException e) { throw Throwables.propagate(e); } return layer.getMimeTypes() .stream() .map(MimeType::getFileExtension) .collect(Collectors.toSet()); }
public Set<String> layerFormats(String layerName) { TileLayer layer; try { layer = layers.getTileLayer(layerName); } catch (GeoWebCacheException e) { throw Throwables.propagate(e); } return layer.getMimeTypes() .stream() .map(MimeType::getFileExtension) .collect(Collectors.toSet()); }
private void makeFormatPullDown(StringBuilder doc, TileLayer tl) { doc.append("<tr><td>Format:</td><td>\n"); Map<String, String> keysValues = new TreeMap<String, String>(); Iterator<MimeType> iter = tl.getMimeTypes().iterator(); while (iter.hasNext()) { MimeType mime = iter.next(); keysValues.put(mime.getFormat(), mime.getFormat()); } makePullDown(doc, "tileFormat", keysValues, ImageMime.png.getFormat()); doc.append("</td></tr>\n"); }
private void makeFormatPullDown(StringBuilder doc, TileLayer tl) { doc.append("<tr><td>Format:</td><td>\n"); Map<String, String> keysValues = new TreeMap<String, String>(); Iterator<MimeType> iter = tl.getMimeTypes().iterator(); while (iter.hasNext()) { MimeType mime = iter.next(); keysValues.put(mime.getFormat(), mime.getFormat()); } makePullDown(doc, "format", keysValues, ImageMime.png.getFormat()); doc.append("</td></tr>\n"); }
this.fullParameters = Collections.emptyMap(); List<MimeType> ml = layer.getMimeTypes(); Iterator<MimeType> iter = ml.iterator(); ImageMime firstMt = null;
private void capabilityRequestGetMap(XMLBuilder xml) throws IOException { // Find all the formats we support Iterable<TileLayer> layerIter = tld.getLayerList(); HashSet<String> formats = new HashSet<String>(); for (TileLayer layer : layerIter) { if (!layer.isEnabled() || !layer.isAdvertised()) { continue; } if (layer.getMimeTypes() != null) { Iterator<MimeType> mimeIter = layer.getMimeTypes().iterator(); while (mimeIter.hasNext()) { MimeType mime = mimeIter.next(); formats.add(mime.getFormat()); } } else { formats.add("image/png"); formats.add("image/jpeg"); } } capability(xml, "GetMap", formats, urlStr); }
private void capabilityRequestGetFeatureInfo(XMLBuilder xml) throws IOException { // Find all the info formats we support Iterable<TileLayer> layerIter = tld.getLayerList(); HashSet<String> formats = new HashSet<String>(); for (TileLayer layer : layerIter) { if (!layer.isEnabled() || !layer.isAdvertised()) { continue; } if (layer.getMimeTypes() != null) { Iterator<MimeType> mimeIter = layer.getInfoMimeTypes().iterator(); while (mimeIter.hasNext()) { MimeType mime = mimeIter.next(); formats.add(mime.getFormat()); } } else { formats.add("text/plain"); formats.add("text/html"); formats.add("application/vnd.ogc.gml"); } } capability(xml, "GetFeatureInfo", formats, urlStr); }
private void writeSiteMapIndexLoop() throws IOException { OutputStream os = tile.servletResp.getOutputStream(); String urlPrefix = tile.getUrlPrefix(); Iterable<TileLayer> iter = tLD.getLayerList(); for (TileLayer tl : iter) { if (!tl.isEnabled()) { continue; } Set<String> grids = tl.getGridSubsets(); List<MimeType> mimeTypes = tl.getMimeTypes(); if( grids != null && grids.contains(gridSetBroker.WORLD_EPSG4326.getName()) && mimeTypes != null && mimeTypes.contains(XMLMime.kml) ) { String smStr = "<sitemap><loc>"+urlPrefix+tl.getName()+"/sitemap.xml</loc></sitemap>"; os.write(smStr.getBytes()); } } }
/** * Whether the layer supports the given format string * * @param strFormat * @return * @throws GeoWebCacheException */ public boolean supportsFormat(String strFormat) throws GeoWebCacheException { if (strFormat == null) { return true; // what the heck?! } for (MimeType mime : getMimeTypes()) { if (strFormat.equalsIgnoreCase(mime.getFormat())) { return true; } } // REVISIT: why not simply return false if this is a query method?! throw new GeoWebCacheException( "Format " + strFormat + " is not supported by " + this.getName()); }
layer = tld.getTileLayer(layerName); List<MimeType> ml = layer.getMimeTypes(); Iterator<MimeType> iter = ml.iterator(); while (iter.hasNext()) {
private void writeSiteMapIndexLoop() throws IOException { OutputStream os = tile.servletResp.getOutputStream(); String urlPrefix = tile.getUrlPrefix(); Iterable<TileLayer> iter = tLD.getLayerList(); for (TileLayer tl : iter) { if (!tl.isEnabled()) { continue; } Set<String> grids = tl.getGridSubsets(); List<MimeType> mimeTypes = tl.getMimeTypes(); if (grids != null && grids.contains(gridSetBroker.getWorldEpsg4326().getName()) && mimeTypes != null && mimeTypes.contains(XMLMime.kml)) { String smStr = "<sitemap><loc>" + urlPrefix + tl.getName() + "/sitemap.xml</loc></sitemap>"; os.write(smStr.getBytes()); } } }
if (layer.getMimeTypes() != null) { for (MimeType mime : layer.getMimeTypes()) { formats.add(mime.getFormat());
static class CustomLayerImplementation { private String name; private String title; private boolean isAuthorized; private List<String> formats; public CustomLayerImplementation( String name, String title, boolean isAuthorized, List<String> formats) { this.name = name; this.title = title; this.isAuthorized = isAuthorized; this.formats = formats; } }
if (layer.getMimeTypes() != null) { for (MimeType mime : layer.getMimeTypes()) { formats.add(mime.getFormat());
/** * Truncates the cache for the default style of the given layer * * @param layerName */ public void truncateByLayerDefaultStyle(final String layerName) { checkNotNull(layerName, "layerName can't be null"); log.fine("truncating '" + layerName + "' for default style"); final TileLayer layer = getTileLayerByName(layerName); final Set<String> gridSetIds = layer.getGridSubsets(); // all of them final List<MimeType> mimeTypes = layer.getMimeTypes(); // all of them final BoundingBox bounds = null; // all of them final Map<String, String> parameters = null; // only default style for (String gridSetId : gridSetIds) { GridSubset gridSubset = layer.getGridSubset(gridSetId); if (gridSubset == null) { // layer may no longer have this gridsubset, but we want to truncate any remaining // tiles GridSet gridSet = gridSetBroker.get(gridSetId); gridSubset = GridSubsetFactory.createGridSubSet(gridSet); } for (MimeType mime : mimeTypes) { String formatName = mime.getFormat(); truncate(layer, bounds, gridSubset, formatName, parameters); } } }
@Override public void createTestUnit() throws Exception { Assume.assumeTrue(tempFolder.isConfigured()); S3BlobStoreInfo config = tempFolder.getConfig(); TileLayerDispatcher layers = createMock(TileLayerDispatcher.class); LockProvider lockProvider = new NoOpLockProvider(); Stream.of("testLayer", "testLayer1", "testLayer2") .map( name -> { TileLayer mock = createMock(name, TileLayer.class); expect(mock.getName()).andStubReturn(name); expect(mock.getId()).andStubReturn(name); expect(mock.getGridSubsets()) .andStubReturn(Collections.singleton("testGridSet")); expect(mock.getMimeTypes()) .andStubReturn( Arrays.asList(org.geowebcache.mime.ImageMime.png)); try { expect(layers.getTileLayer(eq(name))).andStubReturn(mock); } catch (GeoWebCacheException e) { fail(); } return mock; }) .forEach(EasyMock::replay); replay(layers); store = new S3BlobStore(config, layers, lockProvider); } }
protected void tileMapsForLayer( XMLBuilder xml, TileLayer layer, String baseUrl, String contextPath) throws IOException { for (String gridSetId : layer.getGridSubsets()) { GridSubset gridSub = layer.getGridSubset(gridSetId); for (MimeType mimeType : layer.getMimeTypes()) { // GridSubset gridSub = iter.next(); xml.indentElement("TileMap") .attribute("title", tileMapTitle(layer)) .attribute("srs", gridSub.getSRS().toString()) .attribute("profile", profileForGridSet(gridSub.getGridSet())) .attribute( "href", tileMapUrl(layer, gridSub, mimeType, baseUrl, contextPath)) .endElement(); } } }