public void parseCatalog()

in src/main/java/org/apache/commons/configuration2/resolver/CatalogResolver.java [420:462]


        public void parseCatalog(final String baseDir, final String fileName) throws IOException {
            base = locate(fs, baseDir, fileName);
            catalogCwd = base;
            default_override = catalogManager.getPreferPublic();
            catalogManager.debug.message(DEBUG_NORMAL, "Parse catalog: " + fileName);

            boolean parsed = false;

            for (int count = 0; !parsed && count < readerArr.size(); count++) {
                final CatalogReader reader = (CatalogReader) readerArr.get(count);
                InputStream inputStream;

                try {
                    inputStream = fs.getInputStream(base);
                } catch (final Exception ex) {
                    catalogManager.debug.message(DEBUG_NORMAL, "Unable to access " + base + ex.getMessage());
                    break;
                }

                try {
                    reader.readCatalog(this, inputStream);
                    parsed = true;
                } catch (final CatalogException ce) {
                    catalogManager.debug.message(DEBUG_NORMAL, "Parse failed for " + fileName + ce.getMessage());
                    if (ce.getExceptionType() == CatalogException.PARSE_FAILED) {
                        break;
                    }
                    // try again!
                    continue;
                } finally {
                    try {
                        inputStream.close();
                    } catch (final IOException ioe) {
                        // Ignore the exception.
                        inputStream = null;
                    }
                }
            }

            if (parsed) {
                parsePendingCatalogs();
            }
        }