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

View differences:

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