| | 483 | |
| | 484 | /** |
| | 485 | * Instantiates xml resolver for xerces xml parser. |
| | 486 | * |
| | 487 | * If xml-resolver.jar is available on the boot classpath of ant, the |
| | 488 | * implementation of an xml catalog resolver will be returned otherwise |
| | 489 | * the dummy resolver implementation will be provided |
| | 490 | * |
| | 491 | * @return EntityResolver entity resolver |
| | 492 | */ |
| | 493 | private EntityResolver getEntityResolver() |
| | 494 | { |
| | 495 | EntityResolver resolver = new DummyEntityResolver(this); |
| | 496 | try |
| | 497 | { |
| | 498 | String [] catalogs = {"/org/jcoderz/commons/taskdefs/catalog.xml"}; |
| | 499 | |
| | 500 | System.getProperties().put("xml.catalog.verbosity", "1000"); |
| | 501 | // Create catalog resolver and set a catalog list. |
| | 502 | XMLCatalogResolver xmlResolver = new XMLCatalogResolver(); |
| | 503 | xmlResolver.setPreferPublic(true); |
| | 504 | xmlResolver.setCatalogList(catalogs); |
| | 505 | resolver = xmlResolver; |
| | 506 | } |
| | 507 | catch (NoClassDefFoundError e) |
| | 508 | { |
| | 509 | // The most secure way to check for non-existence of the CatalogReader |
| | 510 | // class is within ant class loaders is to catch the NoClassDefFoundError. |
| | 511 | log("Class CatalogReader (xml-resolver.jar) could not be found " + |
| | 512 | " within bootstrap classpath. No entity resolver is " + |
| | 513 | " available, setting dummy resolver.", Project.MSG_WARN); |
| | 514 | } |
| | 515 | |
| | 516 | return resolver; |
| | 517 | } |