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