Revision 41213 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.shp/src/main/java/org/gvsig/fmap/dal/store/shp/SHPStoreProvider.java
SHPStoreProvider.java | ||
---|---|---|
356 | 356 |
FeatureType featureType = featureProvider.getType(); |
357 | 357 |
long index = ((Long) featureProvider.getOID()).longValue(); |
358 | 358 |
boolean hasGeometry = false; |
359 |
if (featureType.getIndex(featureType.getDefaultGeometryAttributeName()) >= 0) { |
|
360 |
try { |
|
361 |
featureProvider.setDefaultGeometry(this.shpFile.getGeometry(index)); |
|
362 |
hasGeometry = true; |
|
359 |
int i = featureType.getDefaultGeometryAttributeIndex(); |
|
360 |
if( i>= 0 ) { |
|
361 |
FeatureAttributeDescriptor attrDescription = featureType.getAttributeDescriptor(i); |
|
362 |
if( attrDescription.getEvaluator()==null ) { |
|
363 |
try { |
|
364 |
featureProvider.set(i,this.shpFile.getGeometry(index)); |
|
363 | 365 |
} catch (CreateGeometryException e) { |
364 | 366 |
throw new ReadException(getProviderName(), e); |
365 | 367 |
} |
368 |
} |
|
369 |
hasGeometry = true; |
|
366 | 370 |
} |
367 | 371 |
if (hasDBFAttributes(featureType, hasGeometry)) { |
368 | 372 |
super.loadFeatureProviderByIndex(featureProvider); |
Also available in: Unified diff