♻️ Rename “TicketLink” to “Performance”
[rhynodge.git] / src / main / java / net / pterodactylus / rhynodge / filters / webpages / savoy / SavoyTicketsFilter.java
index 8f2fc74..cf32c1c 100644 (file)
@@ -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.<Presentation, LocalDate>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.<Presentation, LocalDate>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;
                }
 
        }