added getAllNotCachedEntries()
* added a method to get all not cached entries from the films db
This commit is contained in:
parent
f68b0c0feb
commit
814bb00158
|
@ -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
|
||||
|
|
|
@ -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…
Reference in New Issue