log4j 2 and reworked loadSettings
* replacing all debug/info syso and all syse with log4j 2 logger * loadSettings() should be 100% bulletproof
This commit is contained in:
parent
f001f18c7f
commit
60365aa09d
|
@ -0,0 +1,4 @@
|
||||||
|
.jfx-hamburgerW StackPane { -fx-background-color: white;
|
||||||
|
-fx-background-radius: 5px; }
|
||||||
|
.jfx-hamburgerB StackPane { -fx-background-color: black;
|
||||||
|
-fx-background-radius: 5px; }
|
12
pom.xml
12
pom.xml
|
@ -47,6 +47,18 @@
|
||||||
<artifactId>sqlite-jdbc</artifactId>
|
<artifactId>sqlite-jdbc</artifactId>
|
||||||
<version>3.20.0</version>
|
<version>3.20.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-api</artifactId>
|
||||||
|
<version>2.9.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>log4j-core</artifactId>
|
||||||
|
<version>2.9.0</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
|
@ -129,8 +129,8 @@ public class DBController {
|
||||||
}
|
}
|
||||||
|
|
||||||
//getting all entries from the streaming lists
|
//getting all entries from the streaming lists
|
||||||
for(int v=0; v< mainWindowController.streamingData.size(); v++){
|
for(int v=0; v< mainWindowController.getStreamingData().size(); v++){
|
||||||
String fileName = mainWindowController.getStreamingPath()+"/"+mainWindowController.streamingData.get(v).getStreamUrl();
|
String fileName = mainWindowController.getStreamingPath()+"/"+mainWindowController.getStreamingData().get(v).getStreamUrl();
|
||||||
try {
|
try {
|
||||||
JsonObject object = Json.parse(new FileReader(fileName)).asObject();
|
JsonObject object = Json.parse(new FileReader(fileName)).asObject();
|
||||||
JsonArray items = object.get("entries").asArray();
|
JsonArray items = object.get("entries").asArray();
|
||||||
|
@ -181,8 +181,8 @@ public class DBController {
|
||||||
if(mainWindowController.getStreamingPath().equals("")||mainWindowController.getStreamingPath().equals(null)){
|
if(mainWindowController.getStreamingPath().equals("")||mainWindowController.getStreamingPath().equals(null)){
|
||||||
System.out.println("Kein Pfad angegeben"); //if path == null or ""
|
System.out.println("Kein Pfad angegeben"); //if path == null or ""
|
||||||
}else{
|
}else{
|
||||||
for(int i=0; i< mainWindowController.streamingData.size(); i++){
|
for(int i=0; i< mainWindowController.getStreamingData().size(); i++){
|
||||||
String fileNamea = mainWindowController.getStreamingPath()+"/"+mainWindowController.streamingData.get(i).getStreamUrl();
|
String fileNamea = mainWindowController.getStreamingPath()+"/"+mainWindowController.getStreamingData().get(i).getStreamUrl();
|
||||||
try {
|
try {
|
||||||
JsonObject object = Json.parse(new FileReader(fileNamea)).asObject();
|
JsonObject object = Json.parse(new FileReader(fileNamea)).asObject();
|
||||||
JsonArray items = object.get("entries").asArray();
|
JsonArray items = object.get("entries").asArray();
|
||||||
|
@ -246,9 +246,9 @@ public class DBController {
|
||||||
ResultSet rs = stmt.executeQuery("SELECT * FROM film_local ORDER BY titel");
|
ResultSet rs = stmt.executeQuery("SELECT * FROM film_local ORDER BY titel");
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
if(rs.getString(4).equals("favorite_black")){
|
if(rs.getString(4).equals("favorite_black")){
|
||||||
mainWindowController.localFilms.add( new tableData(1, 1, 1, rs.getDouble(1), "1", rs.getString(2), rs.getString(3), new ImageView(favorite_black),rs.getBoolean(5)));
|
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{
|
}else{
|
||||||
mainWindowController.localFilms.add( new tableData(1, 1, 1, rs.getDouble(1), "1", rs.getString(2), rs.getString(3), new ImageView(favorite_border_black),rs.getBoolean(5)));
|
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();
|
stmt.close();
|
||||||
|
@ -258,9 +258,9 @@ public class DBController {
|
||||||
rs = stmt.executeQuery("SELECT * FROM film_streaming ORDER BY titel;");
|
rs = stmt.executeQuery("SELECT * FROM film_streaming ORDER BY titel;");
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
if(rs.getString(8).equals("favorite_black")){
|
if(rs.getString(8).equals("favorite_black")){
|
||||||
mainWindowController.streamingFilms.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)));
|
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{
|
}else{
|
||||||
mainWindowController.streamingFilms.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)));
|
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();
|
stmt.close();
|
||||||
|
@ -282,9 +282,9 @@ public class DBController {
|
||||||
stmt = connection.createStatement();
|
stmt = connection.createStatement();
|
||||||
ResultSet rs = stmt.executeQuery("SELECT * FROM film_local WHERE titel = \""+name+"\";" );
|
ResultSet rs = stmt.executeQuery("SELECT * FROM film_local WHERE titel = \""+name+"\";" );
|
||||||
if(rs.getString(4).equals("favorite_black")){
|
if(rs.getString(4).equals("favorite_black")){
|
||||||
mainWindowController.localFilms.set(i, new tableData(1, 1, 1, rs.getDouble(1), "1", rs.getString(2), rs.getString(3), new ImageView(favorite_black),rs.getBoolean(5)));
|
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{
|
}else{
|
||||||
mainWindowController.localFilms.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)));
|
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();
|
stmt.close();
|
||||||
rs.close();
|
rs.close();
|
||||||
|
@ -293,9 +293,9 @@ public class DBController {
|
||||||
stmt = connection.createStatement();
|
stmt = connection.createStatement();
|
||||||
ResultSet rs = stmt.executeQuery("SELECT * FROM film_streaming WHERE titel = \""+name+"\";" );
|
ResultSet rs = stmt.executeQuery("SELECT * FROM film_streaming WHERE titel = \""+name+"\";" );
|
||||||
if(rs.getString(8).equals("favorite_black")){
|
if(rs.getString(8).equals("favorite_black")){
|
||||||
mainWindowController.streamingFilms.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)));
|
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{
|
}else{
|
||||||
mainWindowController.streamingFilms.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)));
|
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();
|
stmt.close();
|
||||||
rs.close();
|
rs.close();
|
||||||
|
|
|
@ -27,6 +27,10 @@ import java.io.IOException;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
@ -56,6 +60,7 @@ public class Main extends Application {
|
||||||
private File posterCache;
|
private File posterCache;
|
||||||
private String dirWin = System.getProperty("user.home") + "/Documents/HomeFlix"; //Windows: C:/Users/"User"/Documents/HomeFlix
|
private String dirWin = System.getProperty("user.home") + "/Documents/HomeFlix"; //Windows: C:/Users/"User"/Documents/HomeFlix
|
||||||
private String dirLinux = System.getProperty("user.home") + "/HomeFlix"; //Linux: /home/"User"/HomeFlix
|
private String dirLinux = System.getProperty("user.home") + "/HomeFlix"; //Linux: /home/"User"/HomeFlix
|
||||||
|
private static Logger LOGGER;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage primaryStage) throws IOException {
|
public void start(Stage primaryStage) throws IOException {
|
||||||
|
@ -67,73 +72,77 @@ public class Main extends Application {
|
||||||
private void mainWindow(){
|
private void mainWindow(){
|
||||||
|
|
||||||
try {
|
try {
|
||||||
FXMLLoader loader = new FXMLLoader();
|
FXMLLoader loader = new FXMLLoader();
|
||||||
loader.setLocation(ClassLoader.getSystemResource("fxml/MainWindow.fxml"));
|
loader.setLocation(ClassLoader.getSystemResource("fxml/MainWindow.fxml"));
|
||||||
AnchorPane pane = (AnchorPane) loader.load();
|
AnchorPane pane = (AnchorPane) loader.load();
|
||||||
primaryStage.setMinHeight(600.00);
|
primaryStage.setMinHeight(600.00);
|
||||||
primaryStage.setMinWidth(900.00);
|
primaryStage.setMinWidth(900.00);
|
||||||
primaryStage.setResizable(false);
|
primaryStage.setResizable(false);
|
||||||
primaryStage.setTitle("Project HomeFlix");
|
primaryStage.setTitle("Project HomeFlix");
|
||||||
primaryStage.getIcons().add(new Image(Main.class.getResourceAsStream("/icons/Homeflix_Icon_64x64.png"))); //adds application icon
|
primaryStage.getIcons().add(new Image(Main.class.getResourceAsStream("/icons/Homeflix_Icon_64x64.png"))); //adds application icon
|
||||||
|
|
||||||
mainWindowController = loader.getController(); //Link of FXMLController and controller class
|
mainWindowController = loader.getController(); //Link of FXMLController and controller class
|
||||||
mainWindowController.setAutoUpdate(AUTO_UPDATE); //set auto-update
|
mainWindowController.setAutoUpdate(AUTO_UPDATE); //set auto-update
|
||||||
mainWindowController.setCurrentWorkingDirectory(currentWorkingDirectory);
|
mainWindowController.setCurrentWorkingDirectory(currentWorkingDirectory);
|
||||||
mainWindowController.setMain(this); //call setMain
|
mainWindowController.setMain(this); //call setMain
|
||||||
|
|
||||||
/**Linux else Windows, check if directory & config exist
|
/**Linux else Windows, check if directory & config exist
|
||||||
* Windows: config file: C:/Users/"User"/Documents/HomeFlix/config.xml
|
* Windows: config file: C:/Users/"User"/Documents/HomeFlix/config.xml
|
||||||
* directory: C:/Users/"User"/Documents/HomeFlix
|
* directory: C:/Users/"User"/Documents/HomeFlix
|
||||||
* Linux: config file: /home/"User"/HomeFlix/config.xml
|
* Linux: config file: /home/"User"/HomeFlix/config.xml
|
||||||
* directory: /home/"User"/HomeFlix
|
* directory: /home/"User"/HomeFlix
|
||||||
*/
|
*/
|
||||||
if(System.getProperty("os.name").equals("Linux")) {
|
if(System.getProperty("os.name").equals("Linux")) {
|
||||||
directory = new File(dirLinux);
|
directory = new File(dirLinux);
|
||||||
settingsFile = new File(dirLinux + "/config.xml");
|
settingsFile = new File(dirLinux + "/config.xml");
|
||||||
} else {
|
} else {
|
||||||
directory = new File(dirWin);
|
directory = new File(dirWin);
|
||||||
settingsFile = new File(dirWin + "/config.xml");
|
settingsFile = new File(dirWin + "/config.xml");
|
||||||
}
|
}
|
||||||
|
|
||||||
posterCache = new File(directory+"/posterCache");
|
posterCache = new File(directory+"/posterCache");
|
||||||
|
|
||||||
if(!settingsFile.exists()){
|
if(!settingsFile.exists()){
|
||||||
directory.mkdir();
|
directory.mkdir();
|
||||||
mainWindowController.setPath(firstStart());
|
mainWindowController.setPath(firstStart());
|
||||||
mainWindowController.setStreamingPath(directory.getAbsolutePath());
|
mainWindowController.setStreamingPath(directory.getAbsolutePath());
|
||||||
mainWindowController.setColor(COLOR);
|
mainWindowController.setColor(COLOR);
|
||||||
mainWindowController.setSize(FONT_SIZE);
|
mainWindowController.setSize(FONT_SIZE);
|
||||||
mainWindowController.setAutoUpdate(AUTO_UPDATE);
|
mainWindowController.setAutoUpdate(AUTO_UPDATE);
|
||||||
mainWindowController.setLocal(local);
|
mainWindowController.setLocal(local);
|
||||||
mainWindowController.setMode(mode);
|
mainWindowController.setMode(mode);
|
||||||
mainWindowController.saveSettings();
|
mainWindowController.saveSettings();
|
||||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
|
try {
|
||||||
System.exit(0); //finishes it self
|
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again (preventing Bugs)
|
||||||
}
|
System.exit(0); //finishes it self
|
||||||
|
} catch (Exception e) {
|
||||||
if(!posterCache.exists()) {
|
LOGGER.error("error while restarting HomeFlix", e);
|
||||||
posterCache.mkdir();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mainWindowController.loadSettings();
|
if(!posterCache.exists()) {
|
||||||
mainWindowController.loadStreamingSettings();
|
posterCache.mkdir();
|
||||||
mainWindowController.initUI();
|
}
|
||||||
mainWindowController.initActions();
|
|
||||||
mainWindowController.initTabel();
|
mainWindowController.loadSettings();
|
||||||
mainWindowController.setLocalUI();
|
mainWindowController.loadStreamingSettings();
|
||||||
mainWindowController.applyColor(); //set theme color
|
mainWindowController.initUI();
|
||||||
|
mainWindowController.initActions();
|
||||||
mainWindowController.dbController.main(); //initialize database controller
|
mainWindowController.initTabel();
|
||||||
mainWindowController.dbController.createDatabase(); //creating the database
|
mainWindowController.setLocalUI();
|
||||||
mainWindowController.dbController.loadData(); //loading data from database to mainWindowController
|
mainWindowController.applyColor(); //set theme color
|
||||||
mainWindowController.addDataUI();
|
|
||||||
|
mainWindowController.dbController.main(); //initialize database controller
|
||||||
Scene scene = new Scene(pane); //create new scene, append pane to scene
|
mainWindowController.dbController.createDatabase(); //creating the database
|
||||||
scene.getStylesheets().add(getClass().getResource("/css/MainWindow.css").toExternalForm());
|
mainWindowController.dbController.loadData(); //loading data from database to mainWindowController
|
||||||
primaryStage.setScene(scene); //append scene to stage
|
mainWindowController.addDataUI();
|
||||||
primaryStage.show(); //show stage
|
|
||||||
|
Scene scene = new Scene(pane); //create new scene, append pane to scene
|
||||||
|
scene.getStylesheets().add(getClass().getResource("/css/MainWindow.css").toExternalForm());
|
||||||
|
primaryStage.setScene(scene); //append scene to stage
|
||||||
|
primaryStage.show(); //show stage
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
LOGGER.error("", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,6 +177,16 @@ public class Main extends Application {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
if(System.getProperty("os.name").equals("Linux")){
|
||||||
|
System.setProperty("logFilename", System.getProperty("user.home") + "/HomeFlix/app.log");
|
||||||
|
File logFile = new File(System.getProperty("user.home") + "/HomeFlix/app.log");
|
||||||
|
logFile.delete();
|
||||||
|
}else{
|
||||||
|
System.setProperty("logFilename", System.getProperty("user.home") + "/Documents/HomeFlix/app.log");
|
||||||
|
File logFile = new File(System.getProperty("user.home") + "/Documents/HomeFlix/app.log");
|
||||||
|
logFile.delete();
|
||||||
|
}
|
||||||
|
LOGGER = LogManager.getLogger(Main.class.getName());
|
||||||
launch(args);
|
launch(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,10 @@ import java.util.ArrayList;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import com.jfoenix.controls.JFXButton;
|
import com.jfoenix.controls.JFXButton;
|
||||||
import com.jfoenix.controls.JFXColorPicker;
|
import com.jfoenix.controls.JFXColorPicker;
|
||||||
import com.jfoenix.controls.JFXHamburger;
|
import com.jfoenix.controls.JFXHamburger;
|
||||||
|
@ -191,7 +195,8 @@ public class MainWindowController {
|
||||||
private boolean streamingSettingsTrue = false;
|
private boolean streamingSettingsTrue = false;
|
||||||
private boolean autoUpdate = false;
|
private boolean autoUpdate = false;
|
||||||
static boolean firststart = false;
|
static boolean firststart = false;
|
||||||
private int hashA = -2055934614;
|
private static final Logger LOGGER = LogManager.getLogger(MainWindowController.class.getName());
|
||||||
|
private int hashA = -647380320;
|
||||||
private String version = "0.5.2";
|
private String version = "0.5.2";
|
||||||
private String buildNumber = "129";
|
private String buildNumber = "129";
|
||||||
private String versionName = "solidify cow";
|
private String versionName = "solidify cow";
|
||||||
|
@ -217,7 +222,6 @@ public class MainWindowController {
|
||||||
private String name;
|
private String name;
|
||||||
private String datPath;
|
private String datPath;
|
||||||
private String mode;
|
private String mode;
|
||||||
@SuppressWarnings("unused")
|
|
||||||
private String ratingSortType;
|
private String ratingSortType;
|
||||||
private String local;
|
private String local;
|
||||||
String title;
|
String title;
|
||||||
|
@ -246,9 +250,9 @@ public class MainWindowController {
|
||||||
|
|
||||||
private ObservableList<tableData> filterData = FXCollections.observableArrayList();
|
private ObservableList<tableData> filterData = FXCollections.observableArrayList();
|
||||||
private ObservableList<String> locals = FXCollections.observableArrayList("English (en_US)", "Deutsch (de_DE)");
|
private ObservableList<String> locals = FXCollections.observableArrayList("English (en_US)", "Deutsch (de_DE)");
|
||||||
ObservableList<tableData> localFilms = FXCollections.observableArrayList();
|
private ObservableList<tableData> localFilms = FXCollections.observableArrayList();
|
||||||
ObservableList<tableData> streamingFilms = FXCollections.observableArrayList();
|
private ObservableList<tableData> streamingFilms = FXCollections.observableArrayList();
|
||||||
ObservableList<tableData> streamingData = FXCollections.observableArrayList();
|
private ObservableList<tableData> streamingData = FXCollections.observableArrayList();
|
||||||
private ImageView skip_previous_white = new ImageView(new Image("icons/ic_skip_previous_white_18dp_1x.png"));
|
private ImageView skip_previous_white = new ImageView(new Image("icons/ic_skip_previous_white_18dp_1x.png"));
|
||||||
private ImageView skip_previous_black = new ImageView(new Image("icons/ic_skip_previous_black_18dp_1x.png"));
|
private ImageView skip_previous_black = new ImageView(new Image("icons/ic_skip_previous_black_18dp_1x.png"));
|
||||||
private ImageView skip_next_white = new ImageView(new Image("icons/ic_skip_next_white_18dp_1x.png"));
|
private ImageView skip_next_white = new ImageView(new Image("icons/ic_skip_next_white_18dp_1x.png"));
|
||||||
|
@ -279,11 +283,11 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
}).start();
|
}).start();
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Desktop not supported");
|
LOGGER.info("Desktop not supported");
|
||||||
}
|
}
|
||||||
}else if (mode.equals("local")) {
|
}else if (mode.equals("local")) {
|
||||||
if(System.getProperty("os.name").contains("Linux")){
|
if(System.getProperty("os.name").contains("Linux")){
|
||||||
System.out.println("This is "+System.getProperty("os.name"));
|
LOGGER.info("This is "+System.getProperty("os.name"));
|
||||||
String line;
|
String line;
|
||||||
String output = "";
|
String output = "";
|
||||||
Process p;
|
Process p;
|
||||||
|
@ -437,8 +441,7 @@ public class MainWindowController {
|
||||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
||||||
System.exit(0); //finishes itself
|
System.exit(0); //finishes itself
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
System.out.println("es ist ein Fehler aufgetreten");
|
LOGGER.error("error while restarting HomeFlix", e);
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -475,7 +478,7 @@ public class MainWindowController {
|
||||||
private void streamingDirectoryBtnAction(){
|
private void streamingDirectoryBtnAction(){
|
||||||
selectedStreamingFolder = directoryChooser.showDialog(null);
|
selectedStreamingFolder = directoryChooser.showDialog(null);
|
||||||
if(selectedStreamingFolder == null){
|
if(selectedStreamingFolder == null){
|
||||||
System.out.println("No Directory selected");
|
LOGGER.warn("No Directory selected");
|
||||||
}else{
|
}else{
|
||||||
setStreamingPath(selectedStreamingFolder.getAbsolutePath());
|
setStreamingPath(selectedStreamingFolder.getAbsolutePath());
|
||||||
saveSettings();
|
saveSettings();
|
||||||
|
@ -484,8 +487,7 @@ public class MainWindowController {
|
||||||
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again
|
||||||
System.exit(0); //finishes itself
|
System.exit(0); //finishes itself
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
System.out.println("es ist ein Fehler aufgetreten");
|
LOGGER.error("error while restarting HomeFlix", e);
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -548,7 +550,7 @@ public class MainWindowController {
|
||||||
|
|
||||||
if(mode.equals("local")){
|
if(mode.equals("local")){
|
||||||
if(localFilms.get(selected).getCached()==true){
|
if(localFilms.get(selected).getCached()==true){
|
||||||
System.out.println("loading from cache: "+name);
|
LOGGER.info("loading from cache: "+name);
|
||||||
dbController.readCache(datPath);
|
dbController.readCache(datPath);
|
||||||
}else{
|
}else{
|
||||||
ApiQuery.startQuery(name,datPath); // start api query
|
ApiQuery.startQuery(name,datPath); // start api query
|
||||||
|
@ -556,7 +558,7 @@ public class MainWindowController {
|
||||||
}else{
|
}else{
|
||||||
System.out.println(streamingFilms.size());
|
System.out.println(streamingFilms.size());
|
||||||
if(streamingFilms.get(selected).getCached()==true){
|
if(streamingFilms.get(selected).getCached()==true){
|
||||||
System.out.println("loading from cache: "+name);
|
LOGGER.info("loading from cache: "+name);
|
||||||
dbController.readCache(datPath);
|
dbController.readCache(datPath);
|
||||||
}else{
|
}else{
|
||||||
ApiQuery.startQuery(name,datPath); // start api query
|
ApiQuery.startQuery(name,datPath); // start api query
|
||||||
|
@ -628,7 +630,7 @@ public class MainWindowController {
|
||||||
for(int i = 0; i < filterData.size(); i++){
|
for(int i = 0; i < filterData.size(); i++){
|
||||||
root.getChildren().add(new TreeItem<tableData>(filterData.get(i))); //add filtered data to root node after search
|
root.getChildren().add(new TreeItem<tableData>(filterData.get(i))); //add filtered data to root node after search
|
||||||
}
|
}
|
||||||
if(tfsearch.getText().hashCode() == hashA){
|
if(tfsearch.getText().hashCode()== hashA){
|
||||||
setColor("000000");
|
setColor("000000");
|
||||||
applyColor();
|
applyColor();
|
||||||
}
|
}
|
||||||
|
@ -672,11 +674,7 @@ public class MainWindowController {
|
||||||
try {
|
try {
|
||||||
dbController.refresh(name, selected);
|
dbController.refresh(name, selected);
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
Alert alert = new Alert(AlertType.ERROR);
|
LOGGER.error("(like-problem), it seems as a cat has stolen the \"like-methode\"!", e);
|
||||||
alert.setTitle("Error");
|
|
||||||
alert.setHeaderText("");
|
|
||||||
alert.setContentText("There should be an error message in future (like-problem).\nIt seems as a cat has stolen the \"like-methode\"!");
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
refreshTable();
|
refreshTable();
|
||||||
}
|
}
|
||||||
|
@ -710,7 +708,7 @@ public class MainWindowController {
|
||||||
columnRating.sortTypeProperty().addListener(new ChangeListener<SortType>() {
|
columnRating.sortTypeProperty().addListener(new ChangeListener<SortType>() {
|
||||||
@Override
|
@Override
|
||||||
public void changed(ObservableValue<? extends SortType> paramObservableValue, SortType paramT1, SortType paramT2) {
|
public void changed(ObservableValue<? extends SortType> paramObservableValue, SortType paramT1, SortType paramT2) {
|
||||||
System.out.println("NAME Clicked -- sortType = " + paramT1 + ", SortType=" + paramT2);
|
LOGGER.info("NAME Clicked -- sortType = " + paramT1 + ", SortType=" + paramT2);
|
||||||
ArrayList<Integer> fav_true = new ArrayList<Integer>();
|
ArrayList<Integer> fav_true = new ArrayList<Integer>();
|
||||||
ArrayList<Integer> fav_false = new ArrayList<Integer>();
|
ArrayList<Integer> fav_false = new ArrayList<Integer>();
|
||||||
ObservableList<tableData> helpData;
|
ObservableList<tableData> helpData;
|
||||||
|
@ -733,7 +731,7 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(paramT2.toString().equals("DESCENDING")){
|
if(paramT2.toString().equals("DESCENDING")){
|
||||||
System.out.println("Absteigend");
|
LOGGER.info("Absteigend"); //Debug, delete?
|
||||||
for(int i = 0;i<fav_true.size();i++){
|
for(int i = 0;i<fav_true.size();i++){
|
||||||
filterData.add(helpData.get(fav_true.get(i)));
|
filterData.add(helpData.get(fav_true.get(i)));
|
||||||
}
|
}
|
||||||
|
@ -749,7 +747,7 @@ public class MainWindowController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println(filterData.size());
|
LOGGER.info(filterData.size()); //Debug, delete?
|
||||||
for(int i = 0; i < filterData.size(); i++){
|
for(int i = 0; i < filterData.size(); i++){
|
||||||
// System.out.println(filterData.get(i).getTitel()+"; "+filterData.get(i).getRating());
|
// System.out.println(filterData.get(i).getTitel()+"; "+filterData.get(i).getRating());
|
||||||
root.getChildren().add(new TreeItem<tableData>(filterData.get(i))); //add filtered data to root node after search
|
root.getChildren().add(new TreeItem<tableData>(filterData.get(i))); //add filtered data to root node after search
|
||||||
|
@ -760,7 +758,7 @@ public class MainWindowController {
|
||||||
|
|
||||||
//initialize UI elements
|
//initialize UI elements
|
||||||
void initUI(){
|
void initUI(){
|
||||||
System.out.println("Mode: "+mode); //TODO debugging
|
LOGGER.info("Mode: "+mode); //TODO debugging
|
||||||
debugBtn.setDisable(true); //debugging button for tests
|
debugBtn.setDisable(true); //debugging button for tests
|
||||||
debugBtn.setVisible(false);
|
debugBtn.setVisible(false);
|
||||||
|
|
||||||
|
@ -1037,7 +1035,7 @@ public class MainWindowController {
|
||||||
|
|
||||||
//saves the Settings
|
//saves the Settings
|
||||||
public void saveSettings(){
|
public void saveSettings(){
|
||||||
System.out.println("saving settings ...");
|
LOGGER.info("saving settings ...");
|
||||||
OutputStream outputStream; //new output-stream
|
OutputStream outputStream; //new output-stream
|
||||||
try {
|
try {
|
||||||
props.setProperty("path", getPath()); //writes path into property
|
props.setProperty("path", getPath()); //writes path into property
|
||||||
|
@ -1065,7 +1063,7 @@ public class MainWindowController {
|
||||||
|
|
||||||
//loads the Settings
|
//loads the Settings
|
||||||
public void loadSettings(){
|
public void loadSettings(){
|
||||||
System.out.println("loading settings ...");
|
LOGGER.info("loading settings ...");
|
||||||
InputStream inputStream;
|
InputStream inputStream;
|
||||||
try {
|
try {
|
||||||
if(System.getProperty("os.name").equals("Linux")){
|
if(System.getProperty("os.name").equals("Linux")){
|
||||||
|
@ -1074,31 +1072,79 @@ public class MainWindowController {
|
||||||
inputStream = new FileInputStream(fileWin);
|
inputStream = new FileInputStream(fileWin);
|
||||||
}
|
}
|
||||||
props.loadFromXML(inputStream); //new input-stream from .xml
|
props.loadFromXML(inputStream); //new input-stream from .xml
|
||||||
path = props.getProperty("path"); //read path from property
|
|
||||||
streamingPath = props.getProperty("streamingPath");
|
|
||||||
color = props.getProperty("color");
|
|
||||||
size = Double.parseDouble(props.getProperty("size"));
|
|
||||||
autoUpdate = Boolean.parseBoolean(props.getProperty("autoUpdate"));
|
|
||||||
local = props.getProperty("local");
|
|
||||||
ratingSortType = props.getProperty("ratingSortType");
|
|
||||||
|
|
||||||
switch (props.getProperty("mode")) {
|
try {
|
||||||
case "local":
|
setPath(props.getProperty("path")); //read path from property
|
||||||
mode = "local";
|
} catch (Exception e) {
|
||||||
break;
|
LOGGER.error("cloud not load path", e);
|
||||||
case "streaming":
|
setPath("");
|
||||||
mode = "streaming";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
mode = "local";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
setStreamingPath(props.getProperty("streamingPath"));
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOGGER.error("cloud not load streamingPath", e);
|
||||||
|
setStreamingPath("");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
setColor(props.getProperty("color"));
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOGGER.error("cloud not load color", e);
|
||||||
|
setColor("");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
setSize( Double.parseDouble(props.getProperty("size")));
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOGGER.error("cloud not load fontsize", e);
|
||||||
|
setSize(17.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
setAutoUpdate(Boolean.parseBoolean(props.getProperty("autoUpdate")));
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOGGER.error("cloud not load autoUpdate", e);
|
||||||
|
setAutoUpdate(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
setLocal(props.getProperty("local"));
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOGGER.error("cloud not load local", e);
|
||||||
|
setLocal(System.getProperty("user.language")+"_"+System.getProperty("user.country"));
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
setRatingSortType(props.getProperty("ratingSortType"));
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOGGER.error("cloud not load autoUpdate", e);
|
||||||
|
setRatingSortType("");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
switch (props.getProperty("mode")) {
|
||||||
|
case "local":
|
||||||
|
setMode("local");
|
||||||
|
break;
|
||||||
|
case "streaming":
|
||||||
|
setMode("streaming");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
setMode("local");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
setMode("local");
|
||||||
|
LOGGER.error("cloud not load mode", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
inputStream.close();
|
inputStream.close();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
if(firststart == false){
|
if(firststart == false){
|
||||||
|
LOGGER.error("faild to load settings", e);
|
||||||
showErrorMsg(errorSave, e);
|
showErrorMsg(errorSave, e);
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
// showErrorMsg(errorLoad, e); //TODO This should not be visible at first startup
|
// showErrorMsg(errorLoad, e); //TODO This should not be visible at first startup
|
||||||
}
|
}
|
||||||
|
@ -1176,4 +1222,36 @@ public class MainWindowController {
|
||||||
public void setCurrentWorkingDirectory(String currentWorkingDirectory) {
|
public void setCurrentWorkingDirectory(String currentWorkingDirectory) {
|
||||||
this.currentWorkingDirectory = currentWorkingDirectory;
|
this.currentWorkingDirectory = currentWorkingDirectory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ObservableList<tableData> getLocalFilms() {
|
||||||
|
return localFilms;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLocalFilms(ObservableList<tableData> localFilms) {
|
||||||
|
this.localFilms = localFilms;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObservableList<tableData> getStreamingFilms() {
|
||||||
|
return streamingFilms;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStreamingFilms(ObservableList<tableData> streamingFilms) {
|
||||||
|
this.streamingFilms = streamingFilms;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ObservableList<tableData> getStreamingData() {
|
||||||
|
return streamingData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStreamingData(ObservableList<tableData> streamingData) {
|
||||||
|
this.streamingData = streamingData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRatingSortType() {
|
||||||
|
return ratingSortType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRatingSortType(String ratingSortType) {
|
||||||
|
this.ratingSortType = ratingSortType;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Configuration status="INFO">
|
||||||
|
<Appenders>
|
||||||
|
|
||||||
|
<Console name="console" target="SYSTEM_OUT">
|
||||||
|
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss} [%t] %c{1} - %msg%n" />
|
||||||
|
</Console>
|
||||||
|
|
||||||
|
<File name="file" fileName="${sys:logFilename}" immediateFlush="true">
|
||||||
|
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss} [%t] %c{1} - %msg%n" />
|
||||||
|
</File>
|
||||||
|
|
||||||
|
</Appenders>
|
||||||
|
<Loggers>
|
||||||
|
<Root level="debug" additivity="false">
|
||||||
|
<AppenderRef ref="console" />
|
||||||
|
<AppenderRef ref="file"/>
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration>
|
Loading…
Reference in New Issue