private String buildLockKey(ConveyorTile tile, GeoServerMetaTile metaTile) { StringBuilder metaKey = new StringBuilder(); final long[] tileIndex; if (metaTile != null) { tileIndex = metaTile.getMetaGridPos(); metaKey.append("gsmeta_"); } else { tileIndex = tile.getTileIndex(); metaKey.append("tile_"); } long x = tileIndex[0]; long y = tileIndex[1]; long z = tileIndex[2]; metaKey.append(tile.getLayerId()); metaKey.append("_").append(tile.getGridSetId()); metaKey.append("_").append(x).append("_").append(y).append("_").append(z); if (tile.getParametersId() != null) { metaKey.append("_").append(tile.getParametersId()); } metaKey.append(".").append(tile.getMimeType().getFileExtension()); return metaKey.toString(); }
public void setWebMap(WebMap webMap) { this.metaTileMap = webMap; if (webMap instanceof RenderedImageMap) { setImage(((RenderedImageMap) webMap).getImage()); } }
metaGridLoc = META_GRID_LOCKS.unique(new GridLocObj(metaTile.getMetaGridPos(), 32)); synchronized (metaGridLoc) { + Arrays.toString(metaTile.getMetaGridPos())); } else { LOGGER.finer("--> " + Thread.currentThread().getName() + " submitting getMap request for meta grid location " + Arrays.toString(metaTile.getMetaGridPos()) + " on " + metaTile); RenderedImageMap map; try { map = dispatchGetMap(tile, metaTile); checkNotNull(map, "Did not obtain a WebMap from GeoServer's Dispatcher"); metaTile.setWebMap(map); saveTiles(metaTile, tile); } catch (Exception e) { } finally { META_GRID_LOCKS.remove(metaGridLoc); metaTile.dispose();
WMSMapContent tileContext = metaTileMap.getMapContext(); if (this.tiles.length > 1 || (this.tiles.length == 1 && metaHasGutter())) { final Rectangle tileDim = this.tiles[tileIdx]; tile = createTile(tileDim.x, tileDim.y, tileDim.width, tileDim.height); disposeLater(tile); tileContext.setPalette(metaTileContext.getPalette()); tileContext.setTransparent(tileContext.isTransparent()); long[][] tileIndexes = getTilesGridPositions(); BoundingBox tileBounds = gridSubset.boundsFromIndex(tileIndexes[tileIdx]); ReferencedEnvelope tilebbox =
tile = createTile(tileDim.x, tileDim.y, tileDim.width, tileDim.height); disposeLater(tile); tileContext.setPalette(metaTileContext.getPalette()); tileContext.setTransparent(tileContext.isTransparent()); long[][] tileIndexes = getTilesGridPositions(); BoundingBox tileBounds = gridSubset.boundsFromIndex(tileIndexes[tileIdx]); ReferencedEnvelope tilebbox = new ReferencedEnvelope(
private GeoServerMetaTile createMetaTile(ConveyorTile tile, final int metaX, final int metaY) { GeoServerMetaTile metaTile; String tileGridSetId = tile.getGridSetId(); GridSubset gridSubset = getGridSubset(tileGridSetId); MimeType responseFormat = tile.getMimeType(); FormatModifier formatModifier = null; long[] tileGridPosition = tile.getTileIndex(); int gutter = info.getGutter(); metaTile = new GeoServerMetaTile(gridSubset, responseFormat, formatModifier, tileGridPosition, metaX, metaY, gutter); return metaTile; }
Float.valueOf(tileWidth), Float.valueOf(tileHeight), NO_CACHE); tile = cropped.getAsBufferedImage(); disposeLater(cropped); break; case 1:
+ Thread.currentThread().getName() + " returns cache hit for " + Arrays.toString(metaTile.getMetaGridPos())); } else { LOGGER.finer( + Thread.currentThread().getName() + " submitting getMap request for meta grid location " + Arrays.toString(metaTile.getMetaGridPos()) + " on " + metaTile); map = dispatchGetMap(tile, metaTile); checkNotNull(map, "Did not obtain a WebMap from GeoServer's Dispatcher"); metaTile.setWebMap(map); saveTiles(metaTile, tile, requestTime); } catch (Exception e) { lock.release(); metaTile.dispose();
private GeoServerMetaTile createMetaTile(ConveyorTile tile, final int metaX, final int metaY) { GeoServerMetaTile metaTile; String tileGridSetId = tile.getGridSetId(); GridSubset gridSubset = getGridSubset(tileGridSetId); MimeType responseFormat = tile.getMimeType(); FormatModifier formatModifier = null; long[] tileGridPosition = tile.getTileIndex(); int gutter = responseFormat.isVector() ? 0 : info.getGutter(); metaTile = new GeoServerMetaTile( gridSubset, responseFormat, formatModifier, tileGridPosition, metaX, metaY, gutter); return metaTile; }
Float.valueOf(tileHeight)); tile = w.getBufferedImage(); disposeLater(w.getRenderedImage()); break; case 1:
public void setWebMap(RenderedImageMap webMap) { this.metaTileMap = webMap; setImage(webMap.getImage()); }