X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Ffilters%2Fwebpages%2Fsavoy%2FSavoyTicketsFilter.java;h=cf32c1c70b4eaf389e4daba7247180934342a458;hb=23c8601ac67d04ab39badf47d2c365e0f733ca70;hp=8f2fc7462a0f0048c18572f1cc113ed36d15a0d5;hpb=39b2b9099f09bb8dc7061eabc28333d35e557044;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/webpages/savoy/SavoyTicketsFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/webpages/savoy/SavoyTicketsFilter.java index 8f2fc74..cf32c1c 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/webpages/savoy/SavoyTicketsFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/webpages/savoy/SavoyTicketsFilter.java @@ -5,8 +5,8 @@ import static java.time.format.DateTimeFormatter.ofPattern; import static java.util.Optional.empty; import static java.util.Optional.of; import static net.pterodactylus.rhynodge.filters.webpages.savoy.Movie.byName; -import static net.pterodactylus.rhynodge.filters.webpages.savoy.Movie.withPresentations; -import static net.pterodactylus.rhynodge.filters.webpages.savoy.TicketLink.byPresentationTime; +import static net.pterodactylus.rhynodge.filters.webpages.savoy.Movie.withPerformances; +import static net.pterodactylus.rhynodge.filters.webpages.savoy.Performance.byTime; import static org.jsoup.nodes.Document.createShell; import static org.jsoup.parser.Tag.valueOf; @@ -57,15 +57,15 @@ public class SavoyTicketsFilter implements Filter { document.head().appendElement("style").attr("type", "text/css").text(generateStyleSheet()); document.body().appendElement("h1").text("Kinoprogramm: Savoy"); document.body().appendElement("h2").text("Filme"); - movies.stream().filter(withPresentations).sorted(byName).forEach(movie -> { + movies.stream().filter(withPerformances).sorted(byName).forEach(movie -> { document.body().appendChild(createMovieNode(movie)); }); document.body().appendElement("h2").text("Zeiten"); - movies.stream().flatMap(movie -> movie.getTicketLinks().stream().map(ticketLink -> new Presentation(movie, ticketLink))).sorted((leftPresentation, rightPresentation) -> leftPresentation.getTicketLink().getPresentationTime().compareTo(rightPresentation.getTicketLink().getPresentationTime())).collect(Collectors.groupingBy(presentation -> presentation.getTicketLink().getPresentationTime().toLocalDate())).entrySet().stream().sorted((leftEntry, rightEntry) -> leftEntry.getKey().compareTo(rightEntry.getKey())).forEach(dateEntry -> { + movies.stream().flatMap(movie -> movie.getPerformances().stream().map(performance -> new Presentation(movie, performance))).sorted((leftPresentation, rightPresentation) -> leftPresentation.getTicketLink().getTime().compareTo(rightPresentation.getTicketLink().getTime())).collect(Collectors.groupingBy(presentation -> presentation.getTicketLink().getTime().toLocalDate())).entrySet().stream().sorted((leftEntry, rightEntry) -> leftEntry.getKey().compareTo(rightEntry.getKey())).forEach(dateEntry -> { document.body().appendChild(createDayNode(dateEntry.getKey(), dateEntry.getValue())); }); document.body().appendElement("h2").text("Vorschau"); - movies.stream().filter(withPresentations.negate()).sorted(byName).forEach(movie -> { + movies.stream().filter(withPerformances.negate()).sorted(byName).forEach(movie -> { document.body().appendElement("div").attr("class", "name").text(movie.getName()); }); return of(document.toString()); @@ -85,9 +85,9 @@ public class SavoyTicketsFilter implements Filter { Element movieNode = new Element(valueOf("div"), ""); movieNode.attr("class", "movie"); movieNode.appendElement("div").attr("class", "name").text(movie.getName()); - movie.getTicketLinks().stream().sorted(byPresentationTime).forEach(ticketLink -> { + movie.getPerformances().stream().sorted(byTime).forEach(performance -> { Element presentationNode = movieNode.appendElement("div").attr("class", "presentation"); - presentationNode.appendElement("div").attr("class", "time").text("» ").appendElement("a").attr("href", ticketLink.getLink()).text(ticketLink.getPresentationTime().format(dateTimeFormatter)); + presentationNode.appendElement("div").attr("class", "time").text("» ").appendElement("a").attr("href", performance.getLink()).text(performance.getTime().format(dateTimeFormatter)); }); return movieNode; } @@ -97,7 +97,7 @@ public class SavoyTicketsFilter implements Filter { dayNode.appendElement("div").attr("class", "date").text(date.format(dateFormatter)); presentations.stream().forEach(presentation -> { Element presentationNode = dayNode.appendElement("div").attr("class", "presentation"); - presentationNode.appendElement("div").attr("class", "time").text("» " + presentation.getTicketLink().getPresentationTime().format(timeFormatter)); + presentationNode.appendElement("div").attr("class", "time").text("» " + presentation.getTicketLink().getTime().format(timeFormatter)); presentationNode.appendElement("div").attr("class", "movie").appendElement("a").attr("href", presentation.getTicketLink().getLink()).text(presentation.getMovie().getName()); }); return dayNode; @@ -110,19 +110,19 @@ public class SavoyTicketsFilter implements Filter { private static class Presentation { private final Movie movie; - private final TicketLink ticketLink; + private final Performance performance; - private Presentation(Movie movie, TicketLink ticketLink) { + private Presentation(Movie movie, Performance performance) { this.movie = movie; - this.ticketLink = ticketLink; + this.performance = performance; } private Movie getMovie() { return movie; } - private TicketLink getTicketLink() { - return ticketLink; + private Performance getTicketLink() { + return performance; } }