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
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