Hey all, Our app uses GeoTools and app-schema features. We've been using 2.7-M2 for a while, and I wanted to update to 8.0-M1 since it fixes some concurrency bugs in the factory implementation. However, it breaks isNull expressions that are testing for the existence of complex attributes. It all comes down to this method in org.geotools.filter.FilterAbstract:
private Object unpack(Object value) { if (value instanceof org.opengis.feature.ComplexAttribute){ Property simpleContent = ((org.opengis.feature.ComplexAttribute)value).getProperty(new NameImpl("simpleContent")); if (simpleContent == null) { return null; } else { return simpleContent.getValue(); } } if(value instanceof org.opengis.feature.Attribute){ return ((org.opengis.feature.Attribute)value).getValue(); } return value; } Because we really are testing for the existence of a complex attribute, and that attribute doesn't have a property named {}simpleContent, this returns null and isNull always returns true. Is this the correct behavior? It's changed from 2.7-M2, and it just seems counterintuitive. If this is the correct behavior, is there a better way to check for null complex attributes? ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 _______________________________________________ Geotools-gt2-users mailing list Geotools-gt2-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users