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