I'm getting a stack-overflow error from GeoTools when my GeoServer has an OQL 
filter on its layer.  The filter works fine when I do a WFS GetFeature but when 
I execute an update Transaction it fails with this recursion error which 
apparently happens on any OQL filter that requires "feature by feature" 
evaluation of the expression.

I'm using GeoTools HEAD revision: 109456cbb2cf31ce318330bad5d0176e3d04e4a9 
Date: Sat Dec 12 16:57:42 2015 -0700
(but I've checked the latest source code and the relevant code below is 
unchanged)

See this code in JDBCFeatureStore.modifyFeatures...

        if(postFilter != null && !Filter.INCLUDE.equals(postFilter)) {
            // we don't have a fast way to perform this update, let's do it the
            // feature by feature way then
            super.modifyFeatures(innerTypes, values, filter);

The call to super.modifyFeatures gives control to 
ContentFeatureStore.modifyFeatures which reads as follows:

    public void modifyFeatures(AttributeDescriptor[] type, Object[] value, 
Filter filter)
    throws IOException {
        Name attributeNames[] = new Name[ type.length ];
        for( int i=0; i < type.length; i ++){
            attributeNames[i] = type[i].getName();
        }
        modifyFeatures( attributeNames, value, filter );
    }


The result is another call to JDBCFeatureStore.modifyFeatures which kicks off 
endless recursion till the stack is exhausted.

Does anybody know what can be done about this?  It's critical to my application 
that this work.

Thanks for any comments!

Walter Stovall - Byers Engineering Company
------------------------------------------------------------------------------
_______________________________________________
GeoTools-GT2-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to