@ -64,11 +64,12 @@ public class DBController {
private Image favorite_black = new Image ( "icons/ic_favorite_black_18dp_1x.png" ) ;
private Image favorite_border_black = new Image ( "icons/ic_favorite_border_black_18dp_1x.png" ) ;
private List < String > filmsdbAll = new ArrayList < String > ( ) ;
private List < String > filmsdbLocal = new ArrayList < String > ( ) ;
private List < String > filmsdbDir = new ArrayList < String > ( ) ;
private List < String > filmsdbStream = new ArrayList < String > ( ) ;
private List < String > filmsdbStreamURL = new ArrayList < String > ( ) ;
private List < String > filmsAll = new ArrayList < String > ( ) ;
private List < String > filmsDir = new ArrayList < String > ( ) ;
private List < String > filmsDirURL = new ArrayList < String > ( ) ;
private List < String > filmsStream = new ArrayList < String > ( ) ;
private List < String > filmsStreamURL = new ArrayList < String > ( ) ;
private List < String > filmsStreamData = new ArrayList < String > ( ) ;
@ -84,11 +85,7 @@ public class DBController {
}
public void loadDatabase ( ) {
if ( System . getProperty ( "os.name" ) . equals ( "Linux" ) ) {
DB_PATH = System . getProperty ( "user.home" ) + "/HomeFlix/Homeflix.db" ;
} else {
DB_PATH = System . getProperty ( "user.home" ) + "\\Documents\\HomeFlix" + "\\" + "Homeflix.db" ;
}
DB_PATH = main . getDirectory ( ) + "/Homeflix.db" ;
try {
// create a database connection
connection = DriverManager . getConnection ( "jdbc:sqlite:" + DB_PATH ) ;
@ -101,23 +98,30 @@ public class DBController {
}
public void createDatabase ( ) {
PreparedStatement ps ;
PreparedStatement psS ;
/ * *
* if tables don ' t exist create them
* cache table : streamUrl is primary key
* /
try {
Statement stmt = connection . createStatement ( ) ;
stmt . executeUpdate ( "create table if not exists film_local (rating, titel, streamUrl, favIcon, cached)" ) ;
stmt . executeUpdate ( "create table if not exists film_streaming (year, season, episode, rating, resolution, titel, streamUrl, favIcon, cached)" ) ;
stmt . executeUpdate ( "create table if not exists film_streaming (year, season, episode,"
+ " rating, resolution, titel, streamUrl, favIcon, cached)" ) ;
stmt . executeUpdate ( "create table if not exists cache ("
+ "streamUrl, Title, Year, Rated, Released, Runtime, Genre, Director, Writer,"
+ " Actors, Plot, Language, Country, Awards, Metascore, imdbRating, imdbVotes,"
+ " imdbID, Type, Poster, Response)" ) ;
stmt . close ( ) ;
} catch ( SQLException e ) {
LOGGER . error ( e ) ;
}
// get all entries from the tables
try {
Statement stmt = connection . createStatement ( ) ;
ResultSet rs = stmt . executeQuery ( "SELECT * FROM film_local" ) ;
while ( rs . next ( ) ) {
filmsdbLocal . add ( rs . getString ( 2 ) ) ;
filmsdbDir . add ( rs . getString ( 2 ) ) ;
}
stmt . close ( ) ;
rs . close ( ) ;
@ -133,23 +137,22 @@ public class DBController {
LOGGER . error ( "Ups! an error occured!" , e ) ;
}
// getting all files from the selected directory TODO rework
String [ ] entries = new File ( mainWindowController . getPath ( ) ) . list ( ) ;
if ( mainWindowController . getPath ( ) . equals ( "" ) | | mainWindowController . getPath ( ) = = null ) {
LOGGER . warn ( "no path selected!" ) ;
} else if ( new File ( mainWindowController . getPath ( ) ) . exists ( ) ) {
LOGGER . info ( entries . length ) ;
for ( int i = 0 ; i ! = entries . length ; i + + ) {
filmsDir . add ( cutOffEnd ( entries [ i ] ) ) ;
// getting all files from the selected directory
if ( new File ( mainWindowController . getPath ( ) ) . exists ( ) ) {
for ( String entry : new File ( mainWindowController . getPath ( ) ) . list ( ) ) {
filmsDir . add ( cutOffEnd ( entry ) ) ;
filmsDirURL . add ( entry ) ;
// System.out.println(cutOffEnd(entry));
// System.out.println(entry);
}
} else {
LOGGER . error ( mainWindowController . getPath ( ) + "dosen't exist!" ) ;
}
// getting all entries from the streaming lists
for ( int v = 0 ; v < mainWindowController . getStreamingData ( ) . size ( ) ; v + + ) {
for ( int i = 0 ; i < mainWindowController . getStreamingData ( ) . size ( ) ; i + + ) {
String fileName = mainWindowController . getStreamingPath ( ) + "/"
+ mainWindowController . getStreamingData ( ) . get ( v ) . getStreamUrl ( ) ;
+ mainWindowController . getStreamingData ( ) . get ( i ) . getStreamUrl ( ) ;
try {
JsonObject object = Json . parse ( new FileReader ( fileName ) ) . asObject ( ) ;
JsonArray items = object . get ( "entries" ) . asArray ( ) ;
@ -157,6 +160,10 @@ public class DBController {
filmsStream . add ( item . asObject ( ) . getString ( "titel" , "" ) ) ;
filmsStreamURL . add ( item . asObject ( ) . getString ( "streamUrl" , "" ) ) ;
filmsStreamData . add ( fileName ) ;
// System.out.println(item.asObject().getString("titel", ""));
// System.out.println(item.asObject().getString("streamUrl", ""));
// System.out.println(fileName);
}
} catch ( IOException e ) {
e . printStackTrace ( ) ;
@ -166,73 +173,18 @@ public class DBController {
// add all entries to filmsAll and filmsdbAl, for later comparing
filmsAll . addAll ( filmsDir ) ;
filmsAll . addAll ( filmsStream ) ;
filmsdbAll . addAll ( filmsdbLocal ) ;
filmsdbAll . addAll ( filmsdbDir ) ;
filmsdbAll . addAll ( filmsdbStream ) ;
LOGGER . info ( "films in directory: " + filmsAll . size ( ) ) ;
LOGGER . info ( "filme in db: " + filmsdbAll . size ( ) ) ;
/ * *
* if filmsdbAll . size ( ) = = 0 database is empty , we need to fill it else check if
* there is something to remove or to add TODO separate local and streaming for
* better error handling
* if filmsdbAll . size ( ) = = 0 the database is empty , we need to fill it with loadFilms ( )
* else check if there is something to remove or to add
* /
if ( filmsdbAll . size ( ) = = 0 ) {
LOGGER . info ( "Database is empty, creating tables ..." ) ;
try {
ps = connection . prepareStatement ( "insert into film_local values (?, ?, ?, ?, ?)" ) ;
psS = connection . prepareStatement ( "insert into film_streaming values (?, ?, ?, ?, ?, ?, ?, ?, ?)" ) ;
if ( mainWindowController . getPath ( ) . equals ( "" ) | | mainWindowController . getPath ( ) = = null ) {
LOGGER . warn ( "no path selected!" ) ;
} else if ( new File ( mainWindowController . getPath ( ) ) . exists ( ) ) {
for ( int j = 0 ; j ! = entries . length ; j + + ) // goes through all the files in the directory
{
ps . setInt ( 1 , 0 ) ; // rating as integer 1. column
ps . setString ( 2 , cutOffEnd ( entries [ j ] ) ) ; // name as String without ending 2. column
ps . setString ( 3 , entries [ j ] ) ; // path as String 3. column
ps . setString ( 4 , "favorite_border_black" ) ;
ps . setBoolean ( 5 , false ) ;
ps . addBatch ( ) ; // add command to prepared statement
}
}
if ( mainWindowController . getStreamingPath ( ) . equals ( "" ) | | mainWindowController . getStreamingPath ( ) . equals ( null ) ) {
LOGGER . warn ( "no path selected!" ) ;
} else {
for ( int i = 0 ; i < mainWindowController . getStreamingData ( ) . size ( ) ; i + + ) {
String fileNamea = mainWindowController . getStreamingPath ( ) + "/"
+ mainWindowController . getStreamingData ( ) . get ( i ) . getStreamUrl ( ) ;
try {
JsonObject object = Json . parse ( new FileReader ( fileNamea ) ) . asObject ( ) ;
JsonArray items = object . get ( "entries" ) . asArray ( ) ;
for ( JsonValue item : items ) {
psS . setInt ( 1 , item . asObject ( ) . getInt ( "year" , 0 ) ) ;
psS . setInt ( 2 , item . asObject ( ) . getInt ( "season" , 0 ) ) ;
psS . setInt ( 3 , item . asObject ( ) . getInt ( "episode" , 0 ) ) ;
psS . setInt ( 4 , 0 ) ;
psS . setString ( 5 , item . asObject ( ) . getString ( "resolution" , "" ) ) ;
psS . setString ( 6 , item . asObject ( ) . getString ( "titel" , "" ) ) ;
psS . setString ( 7 , item . asObject ( ) . getString ( "streamUrl" , "" ) ) ;
psS . setString ( 8 , "favorite_border_black" ) ;
psS . setBoolean ( 9 , false ) ;
psS . addBatch ( ) ; // add command to prepared statement
}
} catch ( IOException e ) {
LOGGER . error ( e ) ;
}
}
}
ps . executeBatch ( ) ; // execute statement to write entries into table
psS . executeBatch ( ) ;
connection . commit ( ) ;
ps . close ( ) ;
psS . close ( ) ;
} catch ( SQLException e ) {
LOGGER . error ( e ) ;
}
loadFilms ( ) ;
} else {
// check if film added or removed
try {
checkAddEntry ( ) ;
checkRemoveEntry ( ) ;
@ -240,35 +192,80 @@ public class DBController {
e . printStackTrace ( ) ;
}
}
// if cache table dosen't exist create it
}
private void loadFilms ( ) {
PreparedStatement ps ;
PreparedStatement psS ;
LOGGER . info ( "Database is empty, filling tables ..." ) ;
try {
Statement stmt = connection . createStatement ( ) ;
// streamUrl is primary key
stmt . executeUpdate ( "create table if not exists cache ("
+ "streamUrl, Title, Year, Rated, Released, Runtime, Genre, Director, Writer,"
+ " Actors, Plot, Language, Country, Awards, Metascore, imdbRating, imdbVotes,"
+ " imdbID, Type, Poster, Response)"
) ;
stmt . close ( ) ;
ps = connection . prepareStatement ( "insert into film_local values (?, ?, ?, ?, ?)" ) ;
psS = connection . prepareStatement ( "insert into film_streaming values (?, ?, ?, ?, ?, ?, ?, ?, ?)" ) ;
if ( new File ( mainWindowController . getPath ( ) ) . exists ( ) ) {
// go through all the files in the directory
for ( int j = 0 ; j ! = filmsDir . size ( ) ; j + + )
{
ps . setInt ( 1 , 0 ) ; // rating as integer 1. column
ps . setString ( 2 , filmsDir . get ( j ) ) ; // name as String without ending 2. column
ps . setString ( 3 , filmsDirURL . get ( j ) ) ; // path as String 3. column
ps . setString ( 4 , "favorite_border_black" ) ;
ps . setBoolean ( 5 , false ) ;
ps . addBatch ( ) ; // add command to prepared statement
}
}
if ( mainWindowController . getStreamingPath ( ) . equals ( "" ) | | mainWindowController . getStreamingPath ( ) . equals ( null ) ) {
LOGGER . warn ( "no path selected!" ) ;
} else {
for ( int i = 0 ; i < mainWindowController . getStreamingData ( ) . size ( ) ; i + + ) {
String fileNamea = mainWindowController . getStreamingPath ( ) + "/"
+ mainWindowController . getStreamingData ( ) . get ( i ) . getStreamUrl ( ) ;
try {
JsonObject object = Json . parse ( new FileReader ( fileNamea ) ) . asObject ( ) ;
JsonArray items = object . get ( "entries" ) . asArray ( ) ;
for ( JsonValue item : items ) {
psS . setInt ( 1 , item . asObject ( ) . getInt ( "year" , 0 ) ) ;
psS . setInt ( 2 , item . asObject ( ) . getInt ( "season" , 0 ) ) ;
psS . setInt ( 3 , item . asObject ( ) . getInt ( "episode" , 0 ) ) ;
psS . setInt ( 4 , 0 ) ;
psS . setString ( 5 , item . asObject ( ) . getString ( "resolution" , "" ) ) ;
psS . setString ( 6 , item . asObject ( ) . getString ( "titel" , "" ) ) ;
psS . setString ( 7 , item . asObject ( ) . getString ( "streamUrl" , "" ) ) ;
psS . setString ( 8 , "favorite_border_black" ) ;
psS . setBoolean ( 9 , false ) ;
psS . addBatch ( ) ; // add command to prepared statement
}
} catch ( IOException e ) {
LOGGER . error ( e ) ;
}
}
}
ps . executeBatch ( ) ; // execute statement to write entries into table
psS . executeBatch ( ) ;
connection . commit ( ) ;
ps . close ( ) ;
psS . close ( ) ;
} catch ( SQLException e ) {
LOGGER . error ( e ) ;
}
}
// loading data from database to mainWindowController
public void loadData ( ) {
public void loadData ( ) {
LOGGER . info ( "loading data to mwc ..." ) ;
try {
try {
//load local Data
Statement stmt = connection . createStatement ( ) ;
ResultSet rs = stmt . executeQuery ( "SELECT * FROM film_local ORDER BY titel" ) ;
while ( rs . next ( ) ) {
if ( rs . getString ( 4 ) . equals ( "favorite_black" ) ) {
mainWindowController . getLocalFilms ( ) . add ( new tableData ( 1 , 1 , 1 , rs . getDouble ( 1 ) , "1" , rs . getString ( 2 ) , rs . getString ( 3 ) , new ImageView ( favorite_black ) , rs . getBoolean ( 5 ) ) ) ;
} else {
mainWindowController . getLocalFilms ( ) . add ( new tableData ( 1 , 1 , 1 , rs . getDouble ( 1 ) , "1" , rs . getString ( 2 ) , rs . getString ( 3 ) , new ImageView ( favorite_border_black ) , rs . getBoolean ( 5 ) ) ) ;
if ( rs . getString ( 4 ) . equals ( "favorite_black" ) ) {
mainWindowController . getLocalFilms ( ) . add ( new tableData ( 1 , 1 , 1 , rs . getDouble ( 1 ) , "1" ,
rs . getString ( 2 ) , rs . getString ( 3 ) , new ImageView ( favorite_black ) , rs . getBoolean ( 5 ) ) ) ;
} else {
mainWindowController . getLocalFilms ( ) . add ( new tableData ( 1 , 1 , 1 , rs . getDouble ( 1 ) , "1" ,
rs . getString ( 2 ) , rs . getString ( 3 ) , new ImageView ( favorite_border_black ) , rs . getBoolean ( 5 ) ) ) ;
}
}
stmt . close ( ) ;
@ -277,10 +274,14 @@ public class DBController {
//load streaming Data FIXME check if there are streaming data before loading -> maybe there is an issue now
rs = stmt . executeQuery ( "SELECT * FROM film_streaming ORDER BY titel;" ) ;
while ( rs . next ( ) ) {
if ( rs . getString ( 8 ) . equals ( "favorite_black" ) ) {
mainWindowController . getStreamingFilms ( ) . add ( new tableData ( rs . getInt ( 1 ) , rs . getInt ( 2 ) , rs . getInt ( 3 ) , rs . getDouble ( 4 ) , rs . getString ( 5 ) , rs . getString ( 6 ) , rs . getString ( 7 ) , new ImageView ( favorite_black ) , rs . getBoolean ( 9 ) ) ) ;
} else {
mainWindowController . getStreamingFilms ( ) . add ( new tableData ( rs . getInt ( 1 ) , rs . getInt ( 2 ) , rs . getInt ( 3 ) , rs . getDouble ( 4 ) , rs . getString ( 5 ) , rs . getString ( 6 ) , rs . getString ( 7 ) , new ImageView ( favorite_border_black ) , rs . getBoolean ( 9 ) ) ) ;
if ( rs . getString ( 8 ) . equals ( "favorite_black" ) ) {
mainWindowController . getStreamingFilms ( ) . add ( new tableData ( rs . getInt ( 1 ) ,
rs . getInt ( 2 ) , rs . getInt ( 3 ) , rs . getDouble ( 4 ) , rs . getString ( 5 ) , rs . getString ( 6 ) ,
rs . getString ( 7 ) , new ImageView ( favorite_black ) , rs . getBoolean ( 9 ) ) ) ;
} else {
mainWindowController . getStreamingFilms ( ) . add ( new tableData ( rs . getInt ( 1 ) ,
rs . getInt ( 2 ) , rs . getInt ( 3 ) , rs . getDouble ( 4 ) , rs . getString ( 5 ) , rs . getString ( 6 ) ,
rs . getString ( 7 ) , new ImageView ( favorite_border_black ) , rs . getBoolean ( 9 ) ) ) ;
}
}
stmt . close ( ) ;
@ -297,15 +298,17 @@ public class DBController {
//FIXME it seems that there is an issue at the moment with streaming refreshing wrong entry if there is more than one with the same name
public void refresh ( String name , int i ) throws SQLException {
LOGGER . info ( "refresh ..." ) ;
Statement stmt ;
Statement stmt ;
try {
stmt = connection . createStatement ( ) ;
ResultSet rs = stmt . executeQuery ( "SELECT * FROM film_local WHERE titel = \"" + name + "\";" ) ;
if ( rs . getString ( 4 ) . equals ( "favorite_black" ) ) {
mainWindowController . getLocalFilms ( ) . set ( i , new tableData ( 1 , 1 , 1 , rs . getDouble ( 1 ) , "1" , rs . getString ( 2 ) , rs . getString ( 3 ) , new ImageView ( favorite_black ) , rs . getBoolean ( 5 ) ) ) ;
} else {
mainWindowController . getLocalFilms ( ) . set ( i , new tableData ( 1 , 1 , 1 , rs . getDouble ( 1 ) , "1" , rs . getString ( 2 ) , rs . getString ( 3 ) , new ImageView ( favorite_border_black ) , rs . getBoolean ( 5 ) ) ) ;
if ( rs . getString ( 4 ) . equals ( "favorite_black" ) ) {
mainWindowController . getLocalFilms ( ) . set ( i , new tableData ( 1 , 1 , 1 , rs . getDouble ( 1 ) , "1" ,
rs . getString ( 2 ) , rs . getString ( 3 ) , new ImageView ( favorite_black ) , rs . getBoolean ( 5 ) ) ) ;
} else {
mainWindowController . getLocalFilms ( ) . set ( i , new tableData ( 1 , 1 , 1 , rs . getDouble ( 1 ) , "1" ,
rs . getString ( 2 ) , rs . getString ( 3 ) , new ImageView ( favorite_border_black ) , rs . getBoolean ( 5 ) ) ) ;
}
stmt . close ( ) ;
rs . close ( ) ;
@ -314,10 +317,14 @@ public class DBController {
try {
stmt = connection . createStatement ( ) ;
ResultSet rs = stmt . executeQuery ( "SELECT * FROM film_streaming WHERE titel = \"" + name + "\";" ) ;
if ( rs . getString ( 8 ) . equals ( "favorite_black" ) ) {
mainWindowController . getStreamingFilms ( ) . set ( i , new tableData ( rs . getInt ( 1 ) , rs . getInt ( 2 ) , rs . getInt ( 3 ) , rs . getDouble ( 4 ) , rs . getString ( 5 ) , rs . getString ( 6 ) , rs . getString ( 7 ) , new ImageView ( favorite_black ) , rs . getBoolean ( 9 ) ) ) ;
} else {
mainWindowController . getStreamingFilms ( ) . set ( i , new tableData ( rs . getInt ( 1 ) , rs . getInt ( 2 ) , rs . getInt ( 3 ) , rs . getDouble ( 4 ) , rs . getString ( 5 ) , rs . getString ( 6 ) , rs . getString ( 7 ) , new ImageView ( favorite_border_black ) , rs . getBoolean ( 9 ) ) ) ;
if ( rs . getString ( 8 ) . equals ( "favorite_black" ) ) {
mainWindowController . getStreamingFilms ( ) . set ( i , new tableData ( rs . getInt ( 1 ) , rs . getInt ( 2 ) ,
rs . getInt ( 3 ) , rs . getDouble ( 4 ) , rs . getString ( 5 ) , rs . getString ( 6 ) , rs . getString ( 7 ) ,
new ImageView ( favorite_black ) , rs . getBoolean ( 9 ) ) ) ;
} else {
mainWindowController . getStreamingFilms ( ) . set ( i , new tableData ( rs . getInt ( 1 ) , rs . getInt ( 2 ) ,
rs . getInt ( 3 ) , rs . getDouble ( 4 ) , rs . getString ( 5 ) , rs . getString ( 6 ) , rs . getString ( 7 ) ,
new ImageView ( favorite_border_black ) , rs . getBoolean ( 9 ) ) ) ;
}
stmt . close ( ) ;
rs . close ( ) ;
@ -329,33 +336,32 @@ public class DBController {
/ * *
* check if there are any entries that have been removed from the film - directory
*
* @throws SQLException
* /
private void checkRemoveEntry ( ) throws SQLException {
LOGGER . info ( "checking for entrys to remove to DB ..." ) ;
Statement stmt = connection . createStatement ( ) ;
for ( int a = 0 ; a < filmsdbLocal . size ( ) ; a + + ) {
if ( ! filmsDir . contains ( filmsdbLocal . get ( a ) ) ) {
for ( int i = 0 ; i < filmsdbDir . size ( ) ; i + + ) {
if ( ! filmsDir . contains ( filmsdbDir . get ( i ) ) ) {
try {
stmt . executeUpdate ( "delete from film_local where titel = \"" + filmsdbLocal . get ( a ) + "\"" ) ;
stmt . executeUpdate ( "delete from film_local where titel = \"" + filmsdbDir . get ( i ) + "\"" ) ;
connection . commit ( ) ;
stmt . close ( ) ;
LOGGER . info ( "removed \"" + filmsdbLocal . get ( a ) + "\" from database" ) ;
LOGGER . info ( "removed \"" + filmsdbDir . get ( i ) + "\" from database" ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
}
}
for ( int b = 0 ; b < filmsdbStreamURL . size ( ) ; b + + ) {
if ( ! filmsStreamURL . contains ( filmsdbStreamURL . get ( b ) ) ) {
for ( int j = 0 ; j < filmsdbStreamURL . size ( ) ; j + + ) {
if ( ! filmsStreamURL . contains ( filmsdbStreamURL . get ( j ) ) ) {
try {
stmt . executeUpdate ( "delete from film_streaming where titel = \"" + filmsdbStream . get ( b ) + "\"" ) ;
stmt . executeUpdate ( "delete from film_streaming where titel = \"" + filmsdbStream . get ( j ) + "\"" ) ;
connection . commit ( ) ;
stmt . close ( ) ;
LOGGER . info ( "removed \"" + filmsdbStream . get ( b ) + "\" from database" ) ;
LOGGER . info ( "removed \"" + filmsdbStream . get ( j ) + "\" from database" ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
@ -365,24 +371,21 @@ public class DBController {
/ * *
* check if there are new films in the film - directory
*
* @throws SQLException
* @throws FileNotFoundException
* @throws IOException
* if lastName ! = filmsStreamData . get ( b ) then set i = 0 , file
* changed
* if lastName ! = filmsStreamData . get ( b ) then set i = 0 , file changed
* /
private void checkAddEntry ( ) throws SQLException , FileNotFoundException , IOException {
String lastName = "" ;
LOGGER . info ( "checking for entrys to add to DB ..." ) ;
String [ ] entries = new File ( mainWindowController . getPath ( ) ) . list ( ) ;
Statement stmt = connection . createStatement ( ) ;
PreparedStatement ps = connection
. prepareStatement ( "insert into film_streaming values (?, ?, ?, ?, ?, ?, ?, ?, ?)" ) ;
PreparedStatement ps = connection . prepareStatement ( "insert into film_streaming values (?, ?, ?, ?, ?, ?, ?, ?, ?)" ) ;
int i = 0 ;
for ( int a = 0 ; a < filmsDir . size ( ) ; a + + ) {
if ( ! filmsdbLocal . contains ( filmsDir . get ( a ) ) ) {
if ( ! filmsdbDir . contains ( filmsDir . get ( a ) ) ) {
stmt . executeUpdate ( "insert into film_local values (0, \"" + cutOffEnd ( entries [ a ] ) + "\", \""
+ entries [ a ] + "\",\"favorite_border_black\",0)" ) ;
connection . commit ( ) ;
@ -479,8 +482,7 @@ public class DBController {
LOGGER . info ( "streaming:" + rsS . getString ( "rating" ) + ", " + rsS . getString ( "titel" ) + ", " + rsS . getString ( "favIcon" ) ) ;
stmtS . close ( ) ;
rsS . close ( ) ;
}
}
} catch ( SQLException e ) {
LOGGER . error ( "Ups! an error occured!" , e ) ;
}