From 29c6b30168d150013952bfe57d61b65faecd3f8d Mon Sep 17 00:00:00 2001 From: Seil0 Date: Thu, 20 Dec 2018 13:47:32 +0100 Subject: [PATCH] small omdbAPI query fixes --- .../application/MainWindowController.java | 2 -- .../HomeFlix/controller/DBController.java | 4 ++- .../controller/OMDbAPIController.java | 31 +++++++++++++------ 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java b/src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java index 8984d59..0b31bd4 100644 --- a/src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java +++ b/src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java @@ -826,8 +826,6 @@ public class MainWindowController { Runnable OMDbAPIWorker = new OMDbAPIController(main, dbController, entry, omdbAPIKey, false); executor.execute(OMDbAPIWorker); - - // TODO for entries not available show homeflix logo and set cached } executor.shutdown(); diff --git a/src/main/java/kellerkinder/HomeFlix/controller/DBController.java b/src/main/java/kellerkinder/HomeFlix/controller/DBController.java index fcd332c..3c7cdaa 100644 --- a/src/main/java/kellerkinder/HomeFlix/controller/DBController.java +++ b/src/main/java/kellerkinder/HomeFlix/controller/DBController.java @@ -389,7 +389,7 @@ public class DBController { try { PreparedStatement ps = connection.prepareStatement("insert into cache values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); - LOGGER.info("adding to cache: " + omdbResponse.getTitle()); + LOGGER.info("adding cache for: " + streamUrl); ps.setString(1,streamUrl); ps.setString(2,omdbResponse.getTitle()); ps.setString(3,omdbResponse.getYear()); @@ -550,6 +550,8 @@ public class DBController { } catch (SQLException e) { LOGGER.error("An error occured, while getting all NOT cached entries", e); } + + LOGGER.info("There are {} entries not Chached!", notCachedEntries.size()); return notCachedEntries; } diff --git a/src/main/java/kellerkinder/HomeFlix/controller/OMDbAPIController.java b/src/main/java/kellerkinder/HomeFlix/controller/OMDbAPIController.java index 500ef31..9f96abc 100644 --- a/src/main/java/kellerkinder/HomeFlix/controller/OMDbAPIController.java +++ b/src/main/java/kellerkinder/HomeFlix/controller/OMDbAPIController.java @@ -73,13 +73,19 @@ public class OMDbAPIController implements Runnable { LOGGER.info("Querying omdbAPI ..."); JsonObject object; object = getByTitle(currentTableFilm.getTitle()); - if (object == null) return; + if (object == null) { + LOGGER.error("Fatal error while querying omdbAPI!"); + return; + } + // if the answer contains "not found!" try to search by title if (object.getString("Error", "").contains("not found!")) { String title = searchByTitle(currentTableFilm.getTitle()); if (title.length() > 0) { + // we have at least on answer, get info by title now object = getByTitle(title); + // if we still have nothing found, get info by title without episode if(object.getString("Error", "").contains("Series or episode not found!")) { useEpisode = false; object = getByTitle(title); @@ -127,15 +133,18 @@ public class OMDbAPIController implements Runnable { LOGGER.error(e); } - // adding to cache - dbController.addCache(currentTableFilm.getStreamUrl(), omdbResponse); - dbController.setCached(currentTableFilm.getStreamUrl()); - // load data to the MainWindowController - if (refresh) { - Platform.runLater(() -> { - dbController.readCache(currentTableFilm.getStreamUrl()); - }); + synchronized (this) { + // adding to cache + dbController.addCache(currentTableFilm.getStreamUrl(), omdbResponse); + dbController.setCached(currentTableFilm.getStreamUrl()); + + // load data to the MainWindowController + if (refresh) { + Platform.runLater(() -> { + dbController.readCache(currentTableFilm.getStreamUrl()); + }); + } } return; @@ -206,7 +215,9 @@ public class OMDbAPIController implements Runnable { return movie.asObject().getString("Title", ""); } } else { - LOGGER.warn("Movie not found! Not adding cache!"); + // TODO set cached 1 and set the HomeFlix logo as picture +// System.out.println("Object is: " + searchObject); + LOGGER.warn("Movie \"{}\" not found! Not adding cache!", title); } return ""; }