Revision 6537

View differences:

trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLayers.java
161 161
	public void addLayer(FLayer layer) throws CancelationException {
162 162
		//Notificamos a la capa que va a ser a?adida
163 163
		FLyrDefault layerDef = (FLyrDefault)layer;
164
		if (!layerDef.isUnavailable()) {
164
		//if (!layerDef.isUnavailable()) {
165 165
			if (layer instanceof FLyrDefault)
166 166
				((FLyrDefault)layer).wakeUp();
167 167

  
......
170 170
				fmap.addAsCollectionListener(layers);
171 171
			}
172 172
			callLayerAdding(LayerCollectionEvent.createLayerAddingEvent(layer));
173
		}
173
		//}
174 174

  
175 175
		doAddLayer(layer);
176 176

  
177
		if (!layerDef.isUnavailable()) {
177
		//if (!layerDef.isUnavailable()) {
178 178
			callLayerAdded(LayerCollectionEvent.createLayerAddedEvent(layer));
179
		}
179
		//}
180 180
	}
181 181

  
182 182
	/**
......
469 469
    			        	// fmap.callNewErrorEvent(new ErrorEvent(lyr.getName(), e));
470 470
    			        	fmap.addLayerError("La capa " + lyr.getName() + " es err?nea.");
471 471
    			        	e.printStackTrace();
472
    			        	lyr.setAvailable(false);
472 473
    			        	// this.removeLayer(lyr);
474
    			        } catch (Exception e) {
475
    			        	fmap.addLayerError("La capa " + lyr.getName() + " es err?nea.");
476
    			        	e.printStackTrace();
477
    			        	lyr.setAvailable(false);
473 478
    			        }
474 479
    					// }
475 480
    					long t2 = System.currentTimeMillis();
......
1042 1047
                        driver = (VectorialDatabaseDriver) LayerFactory.getDM().getDriver(driverName);
1043 1048
                        //Hay que separar la carga de los datos del XMLEntity del load.
1044 1049
                        driver.setXMLEntity(xml.getChild(2));
1045

  
1046
                        ((DefaultDBDriver)driver).load();
1050
                        
1051
                        boolean loadOk = false;
1052
                        try {
1053
                        	((DefaultDBDriver)driver).load();
1054
                        	if (((DefaultDBDriver)driver).getConnection() != null) {
1055
                        		loadOk = true;
1056
                        	} 
1057
                        	
1058
                        } catch (DriverException e) {
1059
                        	e.printStackTrace();
1060
                        	loadOk = false;
1061
                        	
1062
                        }
1063
                        
1047 1064
                        layer = LayerFactory.createDBLayer(driver, name, proj);
1065
                        if (!loadOk) {
1066
                        	layer.setAvailable(false);
1067
                        }
1048 1068

  
1049 1069
                    } catch (DriverLoadException e) {
1050 1070
                        e.printStackTrace();
trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/LayerFactory.java
194 194
			//capa.setBroken(true);
195 195
			//return capa;
196 196
			//throw new DriverException(e);
197
			capa.setUnavailable(true);
197
			capa.setAvailable(false);
198 198
			return capa;
199 199
		}
200 200

  
......
403 403
						capa.getShapeType()));
404 404
			}
405 405
        } catch (FieldNotFoundException e) {
406
			capa.setUnavailable(true);
406
			capa.setAvailable(false);
407 407
			return capa;
408 408
            //throw new UnsupportedOperationException(e.getMessage());
409 409
        } catch (DriverException e) {
410
			capa.setUnavailable(true);
410
        	capa.setAvailable(false);
411 411
			return capa;
412 412
            //throw new UnsupportedOperationException(e.getMessage());
413
        } catch (Exception e) {
414
        	capa.setAvailable(false);
415
			return capa;        	
413 416
        }
414 417

  
415 418
		return capa;
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/AddLayer.java
64 64
import com.iver.cit.gvsig.fmap.drivers.VectorialFileDriver;
65 65
import com.iver.cit.gvsig.fmap.drivers.WithDefaultLegend;
66 66
import com.iver.cit.gvsig.fmap.layers.FLayer;
67
import com.iver.cit.gvsig.fmap.layers.FLyrDefault;
67 68
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
68 69
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
69 70
import com.iver.cit.gvsig.fmap.rendering.LegendFactory;
......
297 298
						}
298 299

  
299 300
					} catch (DriverException e) {
301
						lyr.setAvailable(false);
300 302
						NotificationManager.addError("Error al crear la capa", e);
303
						
304
					} catch (Exception e) {
305
						NotificationManager.addError("Error al crear la capa", e);
306
						lyr.setAvailable(false);
301 307
					}
302 308
				}
303 309

  
......
308 314

  
309 315
					if (first) {
310 316
						for (int i = 0; i < rects.length; i++) {
311
							rect.add(rects[i]);
317
							if (rects[i] != null) {
318
								rect.add(rects[i]);
319
							}
312 320
						}
313 321

  
314 322
						mapControl.getMapContext().getViewPort()

Also available in: Unified diff