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
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users