/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.geoserver.csw;
import org.geotools.filter.visitor.DuplicatingFilterVisitor;
import org.opengis.filter.PropertyIsLike;
import org.opengis.filter.expression.Expression;
/**
* Transforms like filters from case sensitive to case insensitive
*
* @author Andrea Aime - GeoSolutions
*/
public class CaseInsenstiveFilterTransformer extends DuplicatingFilterVisitor {
@Override
public Object visit(PropertyIsLike filter, Object extraData) {
Expression expr = (Expression) filter.getExpression().accept(this, extraData);
String pattern = filter.getLiteral();
String wildcard = filter.getWildCard();
String singleChar = filter.getSingleChar();
String escape = filter.getEscape();
return getFactory(extraData).like(expr, pattern, wildcard, singleChar, escape, false);
}
}