/* Copyright (c) 2001 - 2011 TOPP - www.openplans.org. All rights reserved. * This code is licensed under the GPL 2.0 license, availible at the root * application directory. */ package org.geoserver.catalog; import org.geoserver.ows.Dispatcher; import org.geoserver.ows.Request; import org.geoserver.security.AbstractCatalogFilter; /** * Filters out the non advertised layers from the * * @author Andrea Aime - GeoSolutions */ public class AdvertisedResourceFilter extends AbstractCatalogFilter { @Override public boolean hideLayer(LayerInfo layer) { if (!layer.isAdvertised()) { return isOgcCapabilitiesRequest(); } else { return hideResource(layer.getResource()); } } @Override public boolean hideResource(ResourceInfo resource) { if (!resource.isAdvertised()) { return isOgcCapabilitiesRequest(); } else { return false; } } boolean isOgcCapabilitiesRequest() { Request request = Dispatcher.REQUEST.get(); return request != null && "GetCapabilities".equalsIgnoreCase(request.getRequest()); } }