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