Browse Source

added getAllNotCachedEntries()

* added a method to get all not cached entries from the films db
pull/5/head
Jannik 3 years ago
parent
commit
814bb00158
2 changed files with 42 additions and 1 deletions
  1. +18
    -0
      src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java
  2. +24
    -1
      src/main/java/kellerkinder/HomeFlix/controller/DBController.java

+ 18
- 0
src/main/java/kellerkinder/HomeFlix/application/MainWindowController.java View File

@ -213,6 +213,8 @@ public class MainWindowController {
initUI();
initActions();
dbController.init();
checkAllPosters(); // TODO testing
}
// Initialize general UI elements
@ -801,6 +803,22 @@ public class MainWindowController {
String mimeType = URLConnection.guessContentTypeFromName(film.getStreamUrl());
return mimeType != null && (mimeType.contains("mp4") || mimeType.contains("vp6"));
}
private void posterModeStartup() {
checkAllPosters();
}
/**
* check if all posters are cached, if not cache the missing ones
*/
private void checkAllPosters() {
// get all not cached entries, none of them should have a cached poster
for (FilmTabelDataType entry : dbController.getAllNotCachedEntries()) {
System.out.println(entry.getStreamUrl() + " is NOT cached!");
// TODO get all needed posters eg cache all not cached entries
// TODO for entries not available show homeflix logo
}
}
// getter and setter


+ 24
- 1
src/main/java/kellerkinder/HomeFlix/controller/DBController.java View File

@ -465,7 +465,7 @@ public class DBController {
public void setCached(String streamUrl) {
try {
Statement stmt = connection.createStatement();
stmt.executeUpdate("UPDATE films SET cached=1 WHERE streamUrl=\"" + streamUrl + "\";");
stmt.executeUpdate("UPDATE films SET cached = 1 WHERE streamUrl = \"" + streamUrl + "\";");
connection.commit();
stmt.close();
} catch (SQLException e) {
@ -623,6 +623,29 @@ public class DBController {
}
}
/**
* get all NOT cached entries
* @return a {@link ArrayList} of all NOT cached entries
*/
public ArrayList<FilmTabelDataType> getAllNotCachedEntries() {
ArrayList<FilmTabelDataType> notCachedEntries = new ArrayList<>();
try {
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM films WHERE cached = 0");
while (rs.next()) {
notCachedEntries.add(new FilmTabelDataType(rs.getString("streamUrl"),
rs.getString("title"), rs.getString("season"), rs.getString("episode"), rs.getBoolean("favorite"),
rs.getBoolean("cached"), new ImageView(favorite_border_black)));
}
stmt.close();
rs.close();
} catch (SQLException e) {
LOGGER.error("An error occured, while getting all NOT cached entries", e);
}
return notCachedEntries;
}
/**
* return the currentTime in ms saved in the database
* @param streamUrl URL of the film


Loading…
Cancel
Save