From d231fb69dee54cf1a6fb1efa4efe43b1a40feefd Mon Sep 17 00:00:00 2001 From: CodingPF Date: Sun, 18 Feb 2024 18:42:08 +0100 Subject: [PATCH] sonar --- .../mserver/crawler/orfon/OrfOnConstants.java | 2 +- .../mserver/crawler/orfon/OrfOnCrawler.java | 4 +- .../crawler/orfon/OrfOnVideoInfoDTO.java | 8 ++- .../orfon/json/OrfOnEpisodeDeserializer.java | 19 +++---- .../orfon/json/OrfOnEpisodesDeserializer.java | 2 +- .../json/OrfOnHistoryChainDeserializer.java | 52 ------------------- .../OrfOnHistoryChildrenDeserializer.java | 10 ++-- .../orfon/json/OrfOnHistoryDeserializer.java | 10 ++-- .../OrfOnHistoryVideoItemDeserializer.java | 10 ++-- .../orfon/json/OrfOnScheduleDeserializer.java | 2 +- .../crawler/orfon/task/OrfOnEpisodeTask.java | 3 +- .../crawler/orfon/task/OrfOnEpisodesTask.java | 2 +- .../crawler/orfon/task/OrfOnPagedTask.java | 4 +- 13 files changed, 41 insertions(+), 87 deletions(-) delete mode 100644 src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryChainDeserializer.java diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnConstants.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnConstants.java index d1e9633a9..9404439b5 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnConstants.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnConstants.java @@ -13,7 +13,7 @@ public final class OrfOnConstants { // public static final String EPISODE = HOST + "/episode"; // - public static final String bearer = "Basic b3JmX29uX3Y0MzpqRlJzYk5QRmlQU3h1d25MYllEZkNMVU41WU5aMjhtdA=="; + public static final String AUTH = "Basic b3JmX29uX3Y0MzpqRlJzYk5QRmlQU3h1d25MYllEZkNMVU41WU5aMjhtdA=="; // private OrfOnConstants() {} // diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnCrawler.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnCrawler.java index 942399771..08cb73fc5 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnCrawler.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnCrawler.java @@ -99,8 +99,8 @@ private Queue createDayUrlsToCrawl() { private Set processAZUrlsToCrawl() throws InterruptedException, ExecutionException { final ForkJoinTask> letterTask = forkJoinPool.submit(new OrfOnAZTask(this, createAZUrlsToCrawl())); - final Set LetterTaskTopics = letterTask.get(); - final ForkJoinTask> videosFromTopicsTask = forkJoinPool.submit(new OrfOnEpisodesTask(this, new ConcurrentLinkedQueue<>(LetterTaskTopics))); + final Set letterTaskTopics = letterTask.get(); + final ForkJoinTask> videosFromTopicsTask = forkJoinPool.submit(new OrfOnEpisodesTask(this, new ConcurrentLinkedQueue<>(letterTaskTopics))); return videosFromTopicsTask.get(); } diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnVideoInfoDTO.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnVideoInfoDTO.java index 6062d803c..442c857f0 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnVideoInfoDTO.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/OrfOnVideoInfoDTO.java @@ -112,5 +112,11 @@ public int hashCode() { return super.hashCode(); } - + @Override + public boolean equals(final Object obj) { + if (obj == null || getClass() != obj.getClass()) { + return false; + } + return this.hashCode() == obj.hashCode(); + } } diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnEpisodeDeserializer.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnEpisodeDeserializer.java index a3636b51d..3db8b44d9 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnEpisodeDeserializer.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnEpisodeDeserializer.java @@ -16,6 +16,7 @@ import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collection; +import java.util.EnumMap; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -121,12 +122,12 @@ private Optional parseSubtitleSource(Optional text) { private Optional> parseSubtitleUrls(JsonElement element) { Set urls = new HashSet<>(); - JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_SMI).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(url -> urls.add(url))); - JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_SRT).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(url -> urls.add(url))); - JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_TTML).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(url -> urls.add(url))); - JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_VTT).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(url -> urls.add(url))); - JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_XML).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(url -> urls.add(url))); - if (urls.size() == 0) { + JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_SMI).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(urls::add)); + JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_SRT).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(urls::add)); + JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_TTML).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(urls::add)); + JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_VTT).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(urls::add)); + JsonUtils.getElementValueAsString(element, TAG_SUBTITLE_XML).ifPresent( stringUrl -> toURL(stringUrl).ifPresent(urls::add)); + if (urls.isEmpty()) { return Optional.empty(); } return Optional.of(urls); @@ -170,7 +171,7 @@ private Optional> parseUrl(JsonElement jsonElement) { codec = Optional.of("dash"); } if (codec.isPresent()) { - urls = Optional.of(new HashMap()); + urls = Optional.of(new EnumMap<>(Resolution.class)); for (JsonElement codecUrls : jsonElement.getAsJsonObject().getAsJsonObject(TAG_VIDEO).getAsJsonArray(codec.get())) { try { String qualityString = codecUrls.getAsJsonObject().get(TAG_VIDEO_QUALITY).getAsString(); @@ -210,11 +211,11 @@ private Optional parseWebsite(Optional text) { private Optional> parseGeoLocations(Optional text) { if (text.isPresent()) { if (text.get().equalsIgnoreCase("worldwide")) { - ArrayList a = new ArrayList(); + ArrayList a = new ArrayList<>(); a.add(GeoLocations.GEO_NONE); return Optional.of(a); } else if (text.get().equalsIgnoreCase("austria")) { - ArrayList a = new ArrayList(); + ArrayList a = new ArrayList<>(); a.add(GeoLocations.GEO_AT); return Optional.of(a); } else { diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnEpisodesDeserializer.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnEpisodesDeserializer.java index bd39d8690..8a7637dcf 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnEpisodesDeserializer.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnEpisodesDeserializer.java @@ -20,7 +20,7 @@ public PagedElementListDTO deserialize( throws JsonParseException { JsonObject jsonPage = jsonElement.getAsJsonObject(); // - PagedElementListDTO page = new PagedElementListDTO(); + PagedElementListDTO page = new PagedElementListDTO<>(); page.setNextPage(JsonUtils.getElementValueAsString(jsonElement, TAG_NEXT_PAGE)); // final Optional items = JsonUtils.getElement(jsonPage, TAG_ITEMS); diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryChainDeserializer.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryChainDeserializer.java deleted file mode 100644 index 9de883de5..000000000 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryChainDeserializer.java +++ /dev/null @@ -1,52 +0,0 @@ -package de.mediathekview.mserver.crawler.orfon.json; - -import com.google.gson.*; - -import de.mediathekview.mserver.base.utils.JsonUtils; -import de.mediathekview.mserver.crawler.basic.CrawlerUrlDTO; -import de.mediathekview.mserver.crawler.basic.PagedElementListDTO; -import de.mediathekview.mserver.crawler.orfon.OrfOnVideoInfoDTO; - -import java.lang.reflect.Type; -import java.util.Optional; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - - -public class OrfOnHistoryChainDeserializer implements JsonDeserializer> { - private static final Logger LOG = LogManager.getLogger(OrfOnHistoryChainDeserializer.class); - private final String[] TAG_NEXT_PAGE; - private final String[] TAG_ITEM_ARRAY; - private final String[] TAG_TARGET_URL; - - - - public OrfOnHistoryChainDeserializer(String[] TAG_NEXT_PAGE,String[] TAG_ITEM_ARRAY, String[] TAG_TARGET_URL ) { - this.TAG_NEXT_PAGE = TAG_NEXT_PAGE; - this.TAG_ITEM_ARRAY = TAG_ITEM_ARRAY; - this.TAG_TARGET_URL = TAG_TARGET_URL; - } - - @Override - public PagedElementListDTO deserialize( - final JsonElement jsonElement, final Type typeOfT, final JsonDeserializationContext context) - throws JsonParseException { - // - PagedElementListDTO page = new PagedElementListDTO<>(); - page.setNextPage(JsonUtils.getElementValueAsString(jsonElement, TAG_NEXT_PAGE)); - // - final Optional itemArray = JsonUtils.getElement(jsonElement, TAG_ITEM_ARRAY); - if (itemArray.isPresent() && itemArray.get().isJsonArray()) { - for (JsonElement item : itemArray.get().getAsJsonArray()) { - final Optional url = JsonUtils.getElementValueAsString(item, TAG_TARGET_URL); - if (url.isPresent()) { - page.addElement(new CrawlerUrlDTO(JsonUtils.getElementValueAsString(item, TAG_TARGET_URL).get())); - } - } - } - // - return page; - } - -} diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryChildrenDeserializer.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryChildrenDeserializer.java index b84c2cbce..a9ce3a8bd 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryChildrenDeserializer.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryChildrenDeserializer.java @@ -16,11 +16,11 @@ public class OrfOnHistoryChildrenDeserializer implements JsonDeserializer> { private static final Logger LOG = LogManager.getLogger(OrfOnHistoryChildrenDeserializer.class); - private String[] TAG_NEXT_PAGE = { "next" }; - private String[] TAG_ITEM_ARRAY = { "_items" }; - private String[] TAG_ITEM_TITLE = {"title"}; - private String[] TAG_TARGET_URL = {"_links", "video_items", "href"}; - private String[] TAG_TARGET_URL2 = {"_links", "children", "href"}; + private static final String[] TAG_NEXT_PAGE = { "next" }; + private static final String[] TAG_ITEM_ARRAY = { "_items" }; + private static final String[] TAG_ITEM_TITLE = {"title"}; + private static final String[] TAG_TARGET_URL = {"_links", "video_items", "href"}; + private static final String[] TAG_TARGET_URL2 = {"_links", "children", "href"}; @Override public PagedElementListDTO deserialize( diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryDeserializer.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryDeserializer.java index ef7cedcda..16793e466 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryDeserializer.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryDeserializer.java @@ -15,11 +15,11 @@ public class OrfOnHistoryDeserializer implements JsonDeserializer> { private static final Logger LOG = LogManager.getLogger(OrfOnHistoryDeserializer.class); - private String[] TAG_NEXT_PAGE = {}; - private String[] TAG_ITEM_ARRAY_TOP = {"history_highlights"}; - private String[] TAG_ITEM_TITLE = {"title"}; - private String[] TAG_ITEM_ARRAY_BUTTOM = {"history_items"}; - private String[] TAG_TARGET_URL = {"_links", "children", "href"}; + private static final String[] TAG_NEXT_PAGE = {}; + private static final String[] TAG_ITEM_ARRAY_TOP = {"history_highlights"}; + private static final String[] TAG_ITEM_TITLE = {"title"}; + private static final String[] TAG_ITEM_ARRAY_BUTTOM = {"history_items"}; + private static final String[] TAG_TARGET_URL = {"_links", "children", "href"}; @Override public PagedElementListDTO deserialize( diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryVideoItemDeserializer.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryVideoItemDeserializer.java index b18312006..02a702bed 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryVideoItemDeserializer.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnHistoryVideoItemDeserializer.java @@ -13,11 +13,11 @@ import org.apache.logging.log4j.Logger; public class OrfOnHistoryVideoItemDeserializer implements JsonDeserializer> { - private String[] TAG_NEXT_PAGE = { "next" }; - private String[] TAG_ITEM_ARRAY = { "_items" }; - private String[] TAG_ITEM_TITLE = {"title"}; - private String[] TAG_TARGET_URL = {"_links", "self", "href"}; - private String[] TAG_TARGET_URL_EPISODE = {"_links", "episode", "href"}; + private static final String[] TAG_NEXT_PAGE = { "next" }; + private static final String[] TAG_ITEM_ARRAY = { "_items" }; + private static final String[] TAG_ITEM_TITLE = {"title"}; + private static final String[] TAG_TARGET_URL = {"_links", "self", "href"}; + private static final String[] TAG_TARGET_URL_EPISODE = {"_links", "episode", "href"}; protected final Logger LOG = LogManager.getLogger(this.getClass()); diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnScheduleDeserializer.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnScheduleDeserializer.java index 07ac6d77d..e5baf69da 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnScheduleDeserializer.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/json/OrfOnScheduleDeserializer.java @@ -19,7 +19,7 @@ public class OrfOnScheduleDeserializer implements JsonDeserializer deserialize( final JsonElement jsonElement, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException { - PagedElementListDTO collectIds = new PagedElementListDTO(); + PagedElementListDTO collectIds = new PagedElementListDTO<>(); final JsonArray elements = jsonElement.getAsJsonArray(); for (JsonElement element : elements) { final Optional name = JsonUtils.getElementValueAsString(element, TAG_FILM_NAME); diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnEpisodeTask.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnEpisodeTask.java index 8b06a2c6b..56fa91f3b 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnEpisodeTask.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnEpisodeTask.java @@ -2,7 +2,6 @@ import java.lang.reflect.Type; import java.net.URI; -import java.util.Optional; import java.util.Queue; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -26,7 +25,7 @@ public class OrfOnEpisodeTask extends AbstractJsonRestTask urlToCrawlDTOs) { - super(crawler, urlToCrawlDTOs, OrfOnConstants.bearer); + super(crawler, urlToCrawlDTOs, OrfOnConstants.AUTH); } @Override diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnEpisodesTask.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnEpisodesTask.java index 6bffe5628..95ece1e96 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnEpisodesTask.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnEpisodesTask.java @@ -29,7 +29,7 @@ public class OrfOnEpisodesTask extends AbstractJsonRestTask urlToCrawlDTOs) { - super(crawler, urlToCrawlDTOs, OrfOnConstants.bearer); + super(crawler, urlToCrawlDTOs, OrfOnConstants.AUTH); } @Override diff --git a/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnPagedTask.java b/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnPagedTask.java index 6e798e88f..0b412e0ae 100644 --- a/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnPagedTask.java +++ b/src/main/java/de/mediathekview/mserver/crawler/orfon/task/OrfOnPagedTask.java @@ -25,8 +25,8 @@ public abstract class OrfOnPagedTask extends AbstractJsonRestTask> nextPageTask = Optional.empty(); - public OrfOnPagedTask(AbstractCrawler crawler, Queue urlToCrawlDTOs) { - super(crawler, urlToCrawlDTOs, OrfOnConstants.bearer); + protected OrfOnPagedTask(AbstractCrawler crawler, Queue urlToCrawlDTOs) { + super(crawler, urlToCrawlDTOs, OrfOnConstants.AUTH); } protected void postProcessingNextPage(PagedElementListDTO aResponseObj, OrfOnBreadCrumsUrlDTO aDTO) {