List of usage examples for org.apache.commons.configuration XMLConfiguration getRootElementName
public String getRootElementName()
From source file:com.norconex.collector.http.crawler.HttpCrawlerConfigLoader.java
/** * Loads a crawler configuration, which can be either the default * crawler or real crawler configuration instances * (keeping defaults)./*from w w w. j a va 2 s. com*/ * @param config crawler configuration to populate/overwrite * @param node the node representing the crawler configuration. * @throws HttpCollectorException problem parsing crawler configuration */ private static void loadCrawlerConfig(HttpCrawlerConfig config, XMLConfiguration node) { //--- General Configuration -------------------------------------------- if (node == null) { LOG.warn("Passing a null configuration for " + config.getId() + ", skipping."); return; } boolean loadingDefaults = "crawlerDefaults".equalsIgnoreCase(node.getRootElementName()); if (!loadingDefaults) { String crawlerId = node.getString("[@id]", null); if (StringUtils.isBlank(crawlerId)) { throw new HttpCollectorException("Crawler ID is missing in configuration."); } config.setId(crawlerId); } config.setUrlNormalizer(ConfigurationUtil.newInstance(node, "urlNormalizer", config.getUrlNormalizer())); config.setDelayResolver(ConfigurationUtil.newInstance(node, "delay", config.getDelayResolver())); config.setNumThreads(node.getInt("numThreads", config.getNumThreads())); config.setMaxDepth(node.getInt("maxDepth", config.getMaxDepth())); config.setMaxURLs(node.getInt("maxURLs", config.getMaxURLs())); config.setWorkDir(new File(node.getString("workDir", config.getWorkDir().toString()))); config.setKeepDownloads(node.getBoolean("keepDownloads", config.isKeepDownloads())); config.setDeleteOrphans(node.getBoolean("deleteOrphans", config.isDeleteOrphans())); String[] startURLs = node.getStringArray("startURLs.url"); config.setStartURLs(defaultIfEmpty(startURLs, config.getStartURLs())); IHttpCrawlerEventListener[] crawlerListeners = loadListeners(node, "crawlerListeners.listener"); config.setCrawlerListeners(defaultIfEmpty(crawlerListeners, config.getCrawlerListeners())); config.setCrawlURLDatabaseFactory(ConfigurationUtil.newInstance(node, "crawlURLDatabaseFactory", config.getCrawlURLDatabaseFactory())); //--- HTTP Initializer ------------------------------------------------- config.setHttpClientInitializer( ConfigurationUtil.newInstance(node, "httpClientInitializer", config.getHttpClientInitializer())); //--- URL Filters ------------------------------------------------------ IURLFilter[] urlFilters = loadURLFilters(node, "httpURLFilters.filter"); config.setURLFilters(defaultIfEmpty(urlFilters, config.getURLFilters())); //--- RobotsTxt provider ----------------------------------------------- config.setRobotsTxtProvider( ConfigurationUtil.newInstance(node, "robotsTxt", config.getRobotsTxtProvider())); config.setIgnoreRobotsTxt(node.getBoolean("robotsTxt[@ignore]", config.isIgnoreRobotsTxt())); //--- Sitemap Resolver ------------------------------------------------- config.setSitemapResolver(ConfigurationUtil.newInstance(node, "sitemap", config.getSitemapResolver())); config.setIgnoreSitemap(node.getBoolean("sitemap[@ignore]", config.isIgnoreSitemap())); //--- HTTP Headers Fetcher --------------------------------------------- config.setHttpHeadersFetcher( ConfigurationUtil.newInstance(node, "httpHeadersFetcher", config.getHttpHeadersFetcher())); //--- HTTP Headers Filters --------------------------------------------- IHttpHeadersFilter[] headersFilters = loadHeadersFilters(node, "httpHeadersFilters.filter"); config.setHttpHeadersFilters(defaultIfEmpty(headersFilters, config.getHttpHeadersFilters())); //--- HTTP Headers Checksummer ----------------------------------------- config.setHttpHeadersChecksummer( ConfigurationUtil.newInstance(node, "httpHeadersChecksummer", config.getHttpHeadersChecksummer())); //--- HTTP Document Fetcher -------------------------------------------- config.setHttpDocumentFetcher( ConfigurationUtil.newInstance(node, "httpDocumentFetcher", config.getHttpDocumentFetcher())); //--- RobotsMeta provider ---------------------------------------------- config.setRobotsMetaProvider( ConfigurationUtil.newInstance(node, "robotsMeta", config.getRobotsMetaProvider())); config.setIgnoreRobotsMeta(node.getBoolean("robotsMeta[@ignore]", config.isIgnoreRobotsMeta())); //--- URL Extractor ---------------------------------------------------- config.setUrlExtractor(ConfigurationUtil.newInstance(node, "urlExtractor", config.getUrlExtractor())); //--- Document Filters ------------------------------------------------- IHttpDocumentFilter[] docFilters = loadDocumentFilters(node, "httpDocumentFilters.filter"); config.setHttpDocumentfilters(defaultIfEmpty(docFilters, config.getHttpDocumentfilters())); //--- HTTP Pre-Processors ---------------------------------------------- IHttpDocumentProcessor[] preProcFilters = loadProcessors(node, "preImportProcessors.processor"); config.setPreImportProcessors(defaultIfEmpty(preProcFilters, config.getPreImportProcessors())); //--- IMPORTER --------------------------------------------------------- XMLConfiguration importerNode = ConfigurationUtil.getXmlAt(node, "importer"); ImporterConfig importerConfig = ImporterConfigLoader.loadImporterConfig(importerNode); config.setImporterConfig(ObjectUtils.defaultIfNull(importerConfig, config.getImporterConfig())); //--- HTTP Post-Processors --------------------------------------------- IHttpDocumentProcessor[] postProcFilters = loadProcessors(node, "postImportProcessors.processor"); config.setPostImportProcessors(defaultIfEmpty(postProcFilters, config.getPostImportProcessors())); //--- HTTP Document Checksummer ----------------------------------------- config.setHttpDocumentChecksummer(ConfigurationUtil.newInstance(node, "httpDocumentChecksummer", config.getHttpDocumentChecksummer())); //--- Document Committers ---------------------------------------------- config.setCommitter(ConfigurationUtil.newInstance(node, "committer", config.getCommitter())); }
From source file:com.norconex.collector.core.crawler.CrawlerConfigLoader.java
/** * Loads a crawler configuration, which can be either the default * crawler or real crawler configuration instances * (keeping defaults).//from w ww.j a v a2s . c o m * @param config crawler configuration to populate/overwrite * @param node the node representing the crawler configuration. * @throws IOException problem loading crawler configuration */ public void loadCrawlerConfig(ICrawlerConfig config, XMLConfiguration node) throws IOException { if (node == null) { LOG.warn("Passing a null configuration for " + config.getId() + ", skipping."); return; } boolean loadingDefaults = "crawlerDefaults".equalsIgnoreCase(node.getRootElementName()); if (!loadingDefaults) { String crawlerId = node.getString("[@id]", null); if (StringUtils.isBlank(crawlerId)) { throw new CollectorException("Crawler ID is missing in configuration."); } } config.loadFromXML(ConfigurationUtil.newReader(node)); }
From source file:io.datalayer.conf.XmlConfigurationTest.java
/** * Tests whether the name of the root element is copied when a configuration * is created using the copy constructor. *//*www . j ava2s.c o m*/ @Test public void testCopyRootName() throws ConfigurationException { final String rootName = "rootElement"; final String xml = "<" + rootName + "><test>true</test></" + rootName + ">"; conf.clear(); conf.load(new StringReader(xml)); XMLConfiguration copy = new XMLConfiguration(conf); assertEquals("Wrong name of root element", rootName, copy.getRootElementName()); copy.save(testSaveConf); copy = new XMLConfiguration(testSaveConf); assertEquals("Wrong name of root element after save", rootName, copy.getRootElementName()); }
From source file:io.datalayer.conf.XmlConfigurationTest.java
/** * Tests whether the name of the root element is copied for a configuration * for which not yet a document exists.//from w w w.ja va 2 s . com */ @Test public void testCopyRootNameNoDocument() throws ConfigurationException { final String rootName = "rootElement"; conf = new XMLConfiguration(); conf.setRootElementName(rootName); conf.setProperty("test", Boolean.TRUE); XMLConfiguration copy = new XMLConfiguration(conf); assertEquals("Wrong name of root element", rootName, copy.getRootElementName()); copy.save(testSaveConf); copy = new XMLConfiguration(testSaveConf); assertEquals("Wrong name of root element after save", rootName, copy.getRootElementName()); }
From source file:io.datalayer.conf.XmlConfigurationTest.java
/** * Tests saving a configuration that was created from a hierarchical * configuration. This test exposes bug CONFIGURATION-301. *//*from www . j av a2 s.c o m*/ @Test public void testSaveAfterCreateWithCopyConstructor() throws ConfigurationException { HierarchicalConfiguration hc = conf.configurationAt("element2"); conf = new XMLConfiguration(hc); conf.save(testSaveConf); XMLConfiguration checkConfig = new XMLConfiguration(); checkConfig.setFile(testSaveConf); checkSavedConfig(checkConfig); assertEquals("Wrong name of root element", "element2", checkConfig.getRootElementName()); }