Hi,

I think I might have found a Class Cast bug where a StringBuilder is
expected but in certain cases a String is returned...It appears that in
org.geotools.filter.text.ecql.ECQL this method:

  public static String toCQL( Filter filter ){
         FilterToECQL toCQL = new FilterToECQL();

         StringBuilder output = (StringBuilder) filter.accept( toCQL, new
StringBuilder() );

         return output.toString();
     }

is performing a cast to StringBuilder from accept methods for filters.
Almost all FilterVisitors return a String Builder except for the method in
class org.geotools.filter.text.ecql.FilterToECQL

public Object visit(Id filter, Object extraData) {}

this method returns a String causing the case to fail when
org.opengis.filter.Id is the Filter...

I've attached a sample class that causes the issue.

If this is not an issue let me know! If it is, how can I file a bug report?

Thanks!

Andrew
package test;


import org.geotools.factory.CommonFactoryFinder;
import org.geotools.factory.GeoTools;
import org.geotools.feature.visitor.IdFinderFilterVisitor;
import org.geotools.filter.FidFilterImpl;
import org.geotools.filter.text.ecql.ECQL;
import org.junit.Test;
import org.opengis.filter.Filter;
import org.opengis.filter.FilterFactory;
import org.opengis.filter.FilterVisitor;
import org.opengis.filter.Id;
import org.opengis.filter.identity.Identifier;

import java.util.Collections;
import java.util.Set;

public class FilterFailTest {

    @Test
    public void test(){
        FilterFactory ff = CommonFactoryFinder.getFilterFactory(GeoTools.getDefaultHints());
        Filter filter = ff.id( Collections.singleton(ff.featureId("fred")));

        ECQL.toCQL(filter);
    }

}

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to