@Override public void visitUserLayerRemoteOWS(UserLayer ul) { currLayer = null; final FeatureTypeConstraint[] featureConstraints = ul.getLayerFeatureConstraints(); if (request.getFilter() == null) { request.setFilter(new ArrayList()); } for (int i = 0; i < featureConstraints.length; i++) { // make sure the layer is there String name = featureConstraints[i].getFeatureTypeName(); // grab the filter Filter filter = featureConstraints[i].getFilter(); if (filter == null) { filter = Filter.INCLUDE; } request.getFilter().add(filter); } }
public void testFilter() throws Exception { HashMap kvp = new HashMap(); kvp.put("layers", getLayerId(MockData.BASIC_POLYGONS)); kvp.put("filter", "<Filter><FeatureId id=\"foo\"/></Filter>"); GetMapRequest request = (GetMapRequest) reader.createRequest(); request = (GetMapRequest) reader.read(request, parseKvp(kvp), caseInsensitiveKvp(kvp)); assertNotNull(request.getFilter()); assertEquals(1, request.getFilter().size()); Id fid = (Id) request.getFilter().get(0); assertEquals(1, fid.getIDs().size()); assertEquals("foo", fid.getIDs().iterator().next()); }
public void testLayerFeatureConstraintFilterParsing() throws Exception { GetMapRequest request = (GetMapRequest) reader.createRequest(); BufferedReader input = getResourceInputStream("WMSPostLayerFeatureConstraintFilter.xml"); request = (GetMapRequest) reader.read(request, input, new HashMap()); // Named layer String linesLayer = MockData.LINES.getLocalPart(); assertEquals(1, request.getLayers().size()); assertTrue(request.getLayers().get(0).getName().endsWith(linesLayer)); assertEquals(1, request.getFilter().size()); PropertyIsEqualTo parsed = (PropertyIsEqualTo) request.getFilter().get(0); assertEquals("[ NAME = VALUE ]", parsed.toString()); }
List<Filter> filters = request.getFilter(); if (filters != null && filters.size() > 0 && filters.get(layerIndex) != Filter.INCLUDE) { return false;
final Filter[] filters = buildLayersFilters(request.getFilter(), layers); final List<SortBy[]> sorts = request.getSortByArrays();
public FeatureInfoRequestParameters(GetFeatureInfoRequest request) { // use the layer of the QUERY_LAYERS parameter, not the LAYERS one this.layers = request.getQueryLayers(); this.filters = request.getGetMapRequest().getFilter(); this.sorts = request.getGetMapRequest().getSortByArrays(); this.styles = getStyles(request, layers); this.x = request.getXPixel(); this.y = request.getYPixel(); this.buffer = request.getGetMapRequest().getBuffer(); this.viewParams = request.getGetMapRequest().getViewParams(); this.getMapReq = request.getGetMapRequest(); this.requestedCRS = getMapReq.getCrs(); // optional, may be null this.maxFeatures = request.getFeatureCount(); // basic information about the request this.width = getMapReq.getWidth(); this.height = getMapReq.getHeight(); this.bbox = new ReferencedEnvelope(getMapReq.getBbox(), getMapReq.getCrs()); this.scaleDenominator = getScaleDenominator(request.getGetMapRequest()); this.elevations = request.getGetMapRequest().getElevation(); this.times = request.getGetMapRequest().getTime(); this.ff = CommonFactoryFinder.getFilterFactory2(GeoTools.getDefaultHints()); this.propertyNames = request.getPropertyNames(); }