/* (c) 2015 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.wms.utfgrid; import java.util.concurrent.BlockingQueue; import org.geotools.renderer.lite.StreamingRenderer; /** * A {@link StreamingRenderer} subclass that will only paint vector shapes * * @author Andrea Aime - GeoSolutions */ class PureVectorRenderer extends StreamingRenderer { @Override protected BlockingQueue<RenderingRequest> getRequestsQueue() { return new PureVectorRenderingBlockingQueue(10000); } protected class PureVectorRenderingBlockingQueue extends StreamingRenderer.RenderingBlockingQueue { private static final long serialVersionUID = -1769980899098830523L; public PureVectorRenderingBlockingQueue(int capacity) { super(capacity); } @Override public boolean add(RenderingRequest e) { // only really accepts vector paint requests, UTFGrid makes no sense with the other types // of requests if(e instanceof EndRequest || e instanceof PaintShapeRequest) { return super.add(e); } else { return true; } } } }