libFMap_FLayers_AddEventTheme_reading.patch

Francisco José Peñarrubia, 05/31/2012 05:59 PM

Download (2.37 KB)

View differences:

FLayers.java (working copy)
1348 1348

  
1349 1349
						String driverName = xml.getStringProperty("other");
1350 1350
						VectorialDriver driver = null;
1351
						XMLEntity xmlDriver = null;
1351 1352
						try {
1352 1353
							driver = (VectorialDriver) LayerFactory.getDM().getDriver(driverName);
1353
						} catch (DriverLoadException e) {
1354
						} catch (Exception e) {
1354 1355
							// Si no existe ese driver, no pasa nada.
1355 1356
							// Puede que el desarrollador no quiera que
1356 1357
							// aparezca en el cuadro de di?logo y ha metido
......
1361 1362
								String className2 = xml.getChild(classChild).getStringProperty("className");
1362 1363
								try {
1363 1364
									driver = (VectorialDriver) Class.forName(className2).newInstance();
1365
									xmlDriver = xml.getChild(classChild);
1364 1366
								} catch (Exception e1) {
1365
									throw new DriverLayerException(name,e);
1367
									// Ultima oportunidad: (para evitar el problema del eventThemeExtension
1368
									if (xml.getChild(3).contains("className"))
1369
									{
1370
										String className3 = xml.getChild(3).getStringProperty("className");
1371
										try {
1372
											driver = (VectorialDriver) Class.forName(className3).newInstance();
1373
											xmlDriver = xml.getChild(3);
1374
										} catch (Exception e2) {
1375
											throw new DriverLayerException(name,e2);
1376
										}
1377
									}									
1366 1378
								}
1367 1379
							}
1368
						} catch (NullPointerException npe) {
1369
							// Si no existe ese driver, no pasa nada.
1370
							// Puede que el desarrollador no quiera que
1371
							// aparezca en el cuadro de di?logo y ha metido
1372
							// el jar con sus clases en nuestro directorio lib.
1373
							// Intentamos cargar esa clase "a pelo".
1374
							if (xml.getChild(2).contains("className"))
1375
							{
1376
								String className2 = xml.getChild(classChild).getStringProperty("className");
1377
								try {
1378
									driver = (VectorialDriver) Class.forName(className2).newInstance();
1379
								} catch (Exception e1) {
1380
									throw new DriverLayerException(name,e1);
1381
								}
1382
							}
1380

  
1383 1381
						}
1384 1382
						if (driver instanceof IPersistence)
1385 1383
						{
1386 1384
							IPersistence persist = (IPersistence) driver;
1387
							persist.setXMLEntity(xml.getChild(classChild));
1385
							persist.setXMLEntity(xmlDriver);
1388 1386
						}
1389 1387
						layer = LayerFactory.createLayer(name, driver, proj);
1390 1388
					}