Revision 47436 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
62 62
import org.gvsig.fmap.dal.resource.spi.MultiResource;
63 63
import org.gvsig.fmap.dal.resource.spi.ResourceProvider;
64 64
import org.gvsig.fmap.dal.spi.DataStoreProviderServices;
65
import org.gvsig.fmap.dal.store.dbf.DBFFeatureProvider;
65 66
import org.gvsig.fmap.dal.store.dbf.DBFStoreParameters;
66 67
import org.gvsig.fmap.dal.store.dbf.DBFStoreProvider;
67 68
import org.gvsig.fmap.dal.store.shp.utils.ISHPFile;
......
313 314
    /**
314 315
     *
315 316
     * @param index
316
     * @param featureType
317
     * @param providerFeatureType
317 318
     * @return
318 319
     * @throws ReadException
319 320
     */
320
    protected FeatureProvider getFeatureProviderByIndex(long index, FeatureType featureType) throws DataException {
321
    protected FeatureProvider getFeatureProviderByIndex(long index, FeatureType providerFeatureType, FeatureType storeFeatureType) throws DataException {
321 322
        this.open();
322 323
        try {
323 324

  
324
            FeatureProvider featureProvider = super.getFeatureProviderByIndex(index, featureType);
325
            FeatureProvider featureProvider = super.getFeatureProviderByIndex(index, providerFeatureType, storeFeatureType);
325 326
            featureProvider.setDefaultEnvelope(this.shpFile.getBoundingBox(index));
326 327
            return featureProvider;
327 328
        } catch (DataException e) {
......
407 408
        return true;
408 409
    }
409 410

  
410
    protected void loadValue(FeatureProvider featureProvider, long rowIndex, FeatureAttributeDescriptor descriptor)
411
    @Override
412
    protected void loadValue(DBFFeatureProvider featureProvider, long rowIndex, FeatureAttributeDescriptor descriptor)
411 413
        throws ReadException {
412
        if (descriptor.getType() == DataTypes.GEOMETRY) {
413
            return;
414
        } else {
415
            super.loadValue(featureProvider, rowIndex, descriptor);
414
        if (descriptor.getType() != DataTypes.GEOMETRY) {
415
            super.loadValue((DBFFeatureProvider) featureProvider, rowIndex, descriptor);
416 416
        }
417 417
    }
418 418

  
419 419
    public FeatureProvider createFeatureProvider(FeatureType type) throws DataException {
420
        FeatureProvider data = new SHPFeatureProvider(this, type);
420
        FeatureProvider data = new SHPFeatureProvider(this, type, null);
421 421
        return data;
422 422
    }
423 423

  
424
    public FeatureProvider createFeatureProvider(FeatureType providerFeatureType, FeatureType storeFeatureType) throws DataException {
425
        return new SHPFeatureProvider(this, providerFeatureType, storeFeatureType);
426
    }
427

  
428
    
424 429
    protected void openFile() throws IOException, DataException {
425 430
        super.openFile();
426 431
        this.shpFile.open();

Also available in: Unified diff