Using in filter function in cql_filter causes exception

Description

Exception occurs when attempting to use in() filter function within cql_filter.

Request:
http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=topp:states&styles=&bbox=-124.73142200000001,24.955967,-66.969849,49.371735&width=768&height=330&srs=EPSG:4326&format=application/openlayers&cql_filter=in(PERSONS,2477574)

Exception:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE ServiceExceptionReport SYSTEM "http://localhost:8080/geoserver/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1" > <ServiceException>
java.lang.ClassCastException: org.geotools.filter.function.InFunction cannot be cast to org.opengis.filter.Filter
org.geotools.filter.function.InFunction cannot be cast to org.opengis.filter.Filter
</ServiceException></ServiceExceptionReport>

Environment

Windows 7-64

Activity

Show:
Andrea Aime
July 21, 2016, 5:14 PM

This is invalid use of the in function. A function is an expression, not a filter, the proper way to use it is "in(attribute, v1, ..., vn) = true"

Andrea Aime
February 15, 2017, 11:48 AM

Mass closing all resolved issues not modified in the last 4 weeks

Not a Bug

Assignee

Unassigned

Reporter

Katey Bilz

Triage

None

Fix versions

None

Affects versions

Components

Priority

Medium
Configure