Revision 1261 trunk/org.gvsig.gdal/org.gvsig.gdal.prov/org.gvsig.gdal.prov.ogr/src/main/java/org/gvsig/gdal/prov/ogr/OGRDataStoreProvider.java

View differences:

OGRDataStoreProvider.java
198 198
     */
199 199
    protected Layer getLayer() throws OGRUnsupportedFormatException {
200 200
        if (this.newLayer == null) {
201
            this.newLayer = getDataSource().GetLayer(getOGRParameters().getLayerName());
202
            // this.layer = getDataSource().GetLayer(0);
203
            if (this.newLayer == null) {
204
                LOG.warn("Can not get layer with {} name. Get first layer of data source",
205
                    getOGRParameters().getLayerName());
201
            String layerName = getOGRParameters().getLayerName();
202
            if(StringUtils.isBlank(layerName)){
206 203
                this.newLayer = getDataSource().GetLayer(0);
207 204
                getOGRParameters().setLayerName(this.newLayer.GetName());
205
            } else {
206
                this.newLayer = getDataSource().GetLayer(layerName);
207
                if (this.newLayer == null) {
208
                    LOG.warn("Can not get layer with {} name. Get first layer of data source",
209
                        getOGRParameters().getLayerName());
210
                    this.newLayer = getDataSource().GetLayer(0);
211
                    getOGRParameters().setLayerName(this.newLayer.GetName());
212
                }
208 213
            }
209 214
        }
210 215
        return this.newLayer;
......
214 219
     * Lazy envelope initialization
215 220
     */
216 221
    @Override
217
    public Envelope getEnvelope() throws DataException {
222
    public synchronized Envelope getEnvelope() throws DataException {
218 223
        open();
219 224
        if (this.envelope == null) {
220 225
            this.envelope = (Envelope) getResource().execute(new ResourceAction() {
......
340 345
        }
341 346
    }
342 347

  
343
    protected boolean loadFeatureType() throws OGRUnsupportedFormatException,
348
    protected synchronized boolean loadFeatureType() throws OGRUnsupportedFormatException,
344 349
        GeometryTypeNotSupportedException, GeometryTypeNotValidException {
345 350

  
346 351
        return (boolean) getResource().execute(new ResourceAction() {

Also available in: Unified diff