+ ") is missing or not sane");
}
// long[] tileIndex = gridSubset.closestIndex(bbox);
MimeType mimeType;
try {
mimeType = MimeType.createFromFormat(values.get("info_format"));
} catch (MimeException me) {
throw new GeoWebCacheException("The info_format parameter ("
+ values.get("info_format") + ")is missing or not recognized.");
}
ConveyorTile gfiConv = new ConveyorTile(sb, tl.getName(), gridSubset.getName(), null,
mimeType, null, tile.servletReq, tile.servletResp);
gfiConv.setTileLayer(tl);
int x, y;
try {
x = Integer.parseInt(values.get("x"));
y = Integer.parseInt(values.get("y"));
} catch (NumberFormatException nfe) {
throw new GeoWebCacheException(
"The parameters for x and y must both be positive integers.");
}
int height, width;
try {
height = Integer.parseInt(values.get("height"));
width = Integer.parseInt(values.get("width"));
} catch (NumberFormatException nfe) {
throw new GeoWebCacheException(
"The parameters for height and width must both be positive integers.");
}
Resource data = tl.getFeatureInfo(gfiConv, bbox, height, width, x, y);
try {
tile.servletResp.setContentType(mimeType.getMimeType());
ServletOutputStream outputStream = tile.servletResp.getOutputStream();
data.transferTo(Channels.newChannel(outputStream));
outputStream.flush();
} catch (IOException ioe) {
tile.servletResp.setStatus(500);