Search in sources :

Example 6 with Sitemap

use of org.codelibs.fess.crawler.entity.Sitemap in project fess-crawler by codelibs.

the class SitemapsResponseProcessor method process.

@Override
public void process(final ResponseData responseData) {
    final SitemapsHelper sitemapsHelper = crawlerContainer.getComponent("sitemapsHelper");
    try (final InputStream responseBody = responseData.getResponseBody()) {
        final SitemapSet sitemapSet = sitemapsHelper.parse(responseBody);
        final Set<RequestData> requestDataSet = new LinkedHashSet<>();
        for (final Sitemap sitemap : sitemapSet.getSitemaps()) {
            if (sitemap != null) {
                requestDataSet.add(RequestDataBuilder.newRequestData().get().url(sitemap.getLoc()).build());
            }
        }
        throw new ChildUrlsException(requestDataSet, this.getClass().getName() + "#process");
    } catch (final IOException e) {
        throw new IORuntimeException(e);
    }
}
Also used : LinkedHashSet(java.util.LinkedHashSet) ChildUrlsException(org.codelibs.fess.crawler.exception.ChildUrlsException) Sitemap(org.codelibs.fess.crawler.entity.Sitemap) IORuntimeException(org.codelibs.core.exception.IORuntimeException) InputStream(java.io.InputStream) RequestData(org.codelibs.fess.crawler.entity.RequestData) SitemapSet(org.codelibs.fess.crawler.entity.SitemapSet) IOException(java.io.IOException) SitemapsHelper(org.codelibs.fess.crawler.helper.SitemapsHelper)

Aggregations

InputStream (java.io.InputStream)6 Sitemap (org.codelibs.fess.crawler.entity.Sitemap)6 SitemapSet (org.codelibs.fess.crawler.entity.SitemapSet)6 ByteArrayInputStream (java.io.ByteArrayInputStream)5 IOException (java.io.IOException)1 LinkedHashSet (java.util.LinkedHashSet)1 IORuntimeException (org.codelibs.core.exception.IORuntimeException)1 RequestData (org.codelibs.fess.crawler.entity.RequestData)1 ChildUrlsException (org.codelibs.fess.crawler.exception.ChildUrlsException)1 SitemapsHelper (org.codelibs.fess.crawler.helper.SitemapsHelper)1