Search in sources :

Example 1 with Index

use of de.herrlock.manga.index.entity.Index in project Manga by herrlock.

the class Indexer method createIndex.

public static Index createIndex(final IndexerConfiguration conf) {
    logger.traceEntry("({})", conf);
    Iterable<Hoster> values;
    if (conf.getUrl() == null) {
        values = Hosters.values();
    } else {
        values = ImmutableSet.of(Hosters.tryGetHostByURL(conf.getUrl()));
    }
    Collection<HosterList> hosterEntries = new TreeSet<>(HosterList.HOSTER_NAME_COMPARATOR);
    for (Hoster hoster : values) {
        HosterList indexFor = createIndexFor(hoster, conf);
        hosterEntries.add(indexFor);
    }
    Index index = new Index();
    index.setHosters(hosterEntries);
    return index;
}
Also used : HosterList(de.herrlock.manga.index.entity.HosterList) TreeSet(java.util.TreeSet) Hoster(de.herrlock.manga.host.Hoster) Index(de.herrlock.manga.index.entity.Index)

Example 2 with Index

use of de.herrlock.manga.index.entity.Index in project Manga by herrlock.

the class Indexer method createJsonIndex.

public static JsonArray createJsonIndex(final IndexerConfiguration conf) {
    Index index = createIndex(conf);
    JsonArrayBuilder arrayBuilder = Json.createArrayBuilder();
    for (HosterList hosterList : index.getHosters()) {
        for (HosterListEntry hosterListEntry : hosterList.getMangas()) {
            arrayBuilder.add(// 
            Json.createObjectBuilder().add("hosterName", // 
            hosterList.getHosterName()).add("name", // 
            hosterListEntry.getName()).add("url", hosterListEntry.getUrl()));
        }
    }
    return arrayBuilder.build();
}
Also used : HosterList(de.herrlock.manga.index.entity.HosterList) Index(de.herrlock.manga.index.entity.Index) HosterListEntry(de.herrlock.manga.index.entity.HosterListEntry) JsonArrayBuilder(javax.json.JsonArrayBuilder)

Example 3 with Index

use of de.herrlock.manga.index.entity.Index in project Manga by herrlock.

the class IndexerMain method exportHtmlIndex.

public static void exportHtmlIndex(final OutputStream out, final IndexerConfiguration conf) {
    Index index = Indexer.createIndex(conf);
    try (InputStream xmlDocument = Indexer.class.getResourceAsStream("manga2datatable.xsl")) {
        Source xsl = new StreamSource(xmlDocument);
        Source xml = new JAXBSource(createMarshaller(), index);
        Result target = new StreamResult(out);
        try {
            Transformer transformer = TransformerFactory.newInstance().newTransformer(xsl);
            transformer.transform(xml, target);
        } catch (TransformerFactoryConfigurationError | TransformerException ex) {
            throw new MDRuntimeException(ex);
        }
    } catch (IOException | JAXBException ex) {
        throw new MDRuntimeException(ex);
    }
}
Also used : TransformerFactoryConfigurationError(javax.xml.transform.TransformerFactoryConfigurationError) Transformer(javax.xml.transform.Transformer) StreamResult(javax.xml.transform.stream.StreamResult) ZipInputStream(java.util.zip.ZipInputStream) InputStream(java.io.InputStream) StreamSource(javax.xml.transform.stream.StreamSource) JAXBException(javax.xml.bind.JAXBException) Index(de.herrlock.manga.index.entity.Index) MDRuntimeException(de.herrlock.manga.exceptions.MDRuntimeException) IOException(java.io.IOException) StreamSource(javax.xml.transform.stream.StreamSource) Source(javax.xml.transform.Source) JAXBSource(javax.xml.bind.util.JAXBSource) JAXBSource(javax.xml.bind.util.JAXBSource) StreamResult(javax.xml.transform.stream.StreamResult) Result(javax.xml.transform.Result) TransformerException(javax.xml.transform.TransformerException)

Aggregations

Index (de.herrlock.manga.index.entity.Index)3 HosterList (de.herrlock.manga.index.entity.HosterList)2 MDRuntimeException (de.herrlock.manga.exceptions.MDRuntimeException)1 Hoster (de.herrlock.manga.host.Hoster)1 HosterListEntry (de.herrlock.manga.index.entity.HosterListEntry)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 TreeSet (java.util.TreeSet)1 ZipInputStream (java.util.zip.ZipInputStream)1 JsonArrayBuilder (javax.json.JsonArrayBuilder)1 JAXBException (javax.xml.bind.JAXBException)1 JAXBSource (javax.xml.bind.util.JAXBSource)1 Result (javax.xml.transform.Result)1 Source (javax.xml.transform.Source)1 Transformer (javax.xml.transform.Transformer)1 TransformerException (javax.xml.transform.TransformerException)1 TransformerFactoryConfigurationError (javax.xml.transform.TransformerFactoryConfigurationError)1 StreamResult (javax.xml.transform.stream.StreamResult)1 StreamSource (javax.xml.transform.stream.StreamSource)1