Hi,

I was reading some shapefiles when it came to my attention that something was 
strange with the schema's reported:

 TS14_max identified extends 
polygonFeature(the_geom:MultiPolygon,ID1:ID1,AV_Time:AV_Time,Shape_Leng:Shape_Leng,Shape_Area:Shape_Area)
 TS21_min identified extends 
polygonFeature(the_geom:MultiPolygon,ID1:ID1,AV_Time:AV_Time,Shape_Leng:Shape_Leng,Shape_Area:Shape_Area)
 TS16_mc identified extends 
polygonFeature(the_geom:MultiPolygon,ID1:ID1,AV_Time:AV_Time,Shape_Leng:Shape_Leng,Shape_Area:Shape_Area)

The problem is why does it repeat the name of the fields. After some digging in 
the code, I realized that the problem is within: 
org.geotools.feature.AttributeTypeBuilder.buildDescriptor(String name)

    public AttributeDescriptor buildDescriptor(String name) {
        setName(name);                   <---- name isn't the type's name. It's 
the attributes name
        if (binding == null)
            throw new IllegalStateException("No binding has been provided for 
this attribute");
        if (crs != null || Geometry.class.isAssignableFrom(binding)) {
            return buildDescriptor(name, buildGeometryType());
        } else {
            return buildDescriptor(name, buildType());
        }
    }

According to Github that code hasn't been changed for years, so GeoTools users 
must have become familiar with this "problem". Because it might not be a real 
problem. I do believe most people are using getBinding() rather than looking at 
what is returned by getName() when looking at an AttributeType.

I'm quite sure removing that setName(name) line will fix the problem, but doing 
so will possibly end up in a lot of unit test failures like this one:

[ERROR]   ImageMosaicReaderTest.granuleSourceTest:1437 
expected:<...ltiPolygon,location:[location,time:time,endtime:endtime,date:date,lowz:lowz,highz:highz,loww:loww,highw:highw])>
 but 
was:<...ltiPolygon,location:[String,time:Date,endtime:Date,date:String,lowz:Integer,highz:Integer,loww:Integer,highw:Integer])>


Should I go forward fixing this, or are people so used to this that they don't 
bother?

Best regards,
Roar Brænden

_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to