Delete Main.java
This commit is contained in:
		
							
								
								
									
										221
									
								
								Main.java
									
									
									
									
									
								
							
							
						
						
									
										221
									
								
								Main.java
									
									
									
									
									
								
							| @ -1,221 +0,0 @@ | ||||
| /** | ||||
|  * Project HomeFlix | ||||
|  *  | ||||
|  * Copyright 2016  <admin@kellerkinder> | ||||
|  *  | ||||
|  * This program is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation; either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  *  | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  *  | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with this program; if not, write to the Free Software | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | ||||
|  * MA 02110-1301, USA. | ||||
|  *  | ||||
|  */ | ||||
| package application; | ||||
| /** | ||||
|  * TODO OSX and	Linux directory and file (Linux: 99% not working!) | ||||
|  */ | ||||
| import java.io.File; | ||||
| import java.io.FileInputStream; | ||||
| import java.io.IOException; | ||||
| import java.io.InputStream; | ||||
| import java.util.Optional; | ||||
| import java.util.Properties; | ||||
|  | ||||
| import javafx.application.Application; | ||||
| import javafx.fxml.FXMLLoader; | ||||
| import javafx.scene.Scene; | ||||
| import javafx.scene.control.Alert; | ||||
| import javafx.scene.control.Alert.AlertType; | ||||
| import javafx.scene.control.ButtonType; | ||||
| import javafx.scene.image.Image; | ||||
| import javafx.scene.layout.AnchorPane; | ||||
| import javafx.scene.paint.Color; | ||||
| import javafx.stage.DirectoryChooser; | ||||
| import javafx.stage.Stage; | ||||
|  | ||||
| public class Main extends Application { | ||||
| 	 | ||||
| 	public Stage primaryStage; | ||||
| 	private String path; | ||||
| 	private InputStream inputStream; | ||||
| 	private String streamingPathWin = System.getProperty("user.home") + "\\Documents\\HomeFlix"; | ||||
| 	private String streamingPathLinux = System.getProperty("user.home") + "/HomeFlix"; | ||||
| 	private String color = "ee3523"; | ||||
| 	private String autoUpdate = "0"; | ||||
| 	private String mode = "local";	//local or streaming | ||||
| 	private double size = 12; | ||||
| 	private int local = 0; | ||||
| 	private File dirWin = new File(System.getProperty("user.home") + "/Documents/HomeFlix");	//Windows: C:/Users/"User"/Documents/HomeFlix	OSX: not tested yet	Linux: not tested yet(shalt not work!) | ||||
| 	private File dirLinux = new File(System.getProperty("user.home") + "/HomeFlix"); | ||||
| 	private File fileWin = new File(dirWin + "/config.xml");	//Windows: C:/Users/"User"/Documents/HomeFlix/config.xml	OSX: not tested yet	Linux: not tested yet(shalt not work!) | ||||
| 	private File fileLinux = new File(dirLinux + "/config.xml"); | ||||
| 	Properties props = new Properties(); | ||||
| 	private MainWindowController mainWindowController; | ||||
| 	 | ||||
| 	@Override | ||||
| 	public void start(Stage primaryStage) { | ||||
| 		this.primaryStage = primaryStage; | ||||
| 		mainWindow(); | ||||
| 	} | ||||
| 	 | ||||
| 	public void mainWindow(){ | ||||
| 	 | ||||
| 		try { | ||||
| 		FXMLLoader loader = new FXMLLoader(Main.class.getResource("MainWindow.fxml")); | ||||
| 		AnchorPane pane = loader.load(); | ||||
| 		primaryStage.setMinHeight(600.00); | ||||
| 		primaryStage.setMinWidth(900.00); | ||||
| 		primaryStage.setResizable(false); | ||||
| 		primaryStage.setTitle("Project HomeFlix"); | ||||
| 		primaryStage.getIcons().add(new Image(Main.class.getResourceAsStream("/recources/Homeflix_Icon_64x64.png"))); //adds application icon | ||||
|  | ||||
| 		mainWindowController = loader.getController();	//Link of FXMLController and controller class | ||||
| 		mainWindowController.setAutoUpdate(autoUpdate);	//set autoupdate | ||||
| 		mainWindowController.setMain(this);	//call setMain | ||||
| 		 | ||||
| 		//dir exists -> check config.xml | ||||
| 		if(System.getProperty("os.name").equals("Linux")){ | ||||
| 			if(dirLinux.exists() == true){ | ||||
| 				if (fileLinux.exists() != true) { | ||||
| 					mainWindowController.setPath(firstStart()); | ||||
| 					if(System.getProperty("os.name").equals("Linux")){ | ||||
| 						mainWindowController.setStreamingPath(streamingPathLinux); | ||||
| 					}else{ | ||||
| 						mainWindowController.setStreamingPath(streamingPathWin); | ||||
| 					} | ||||
| 					mainWindowController.setColor(color); | ||||
| 					mainWindowController.setSize(size); | ||||
| 					mainWindowController.setAutoUpdate(autoUpdate); | ||||
| 					mainWindowController.setLoaclUI(local); | ||||
| 					mainWindowController.setMode(mode); | ||||
| 					mainWindowController.saveSettings(); | ||||
| 					Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar");	//start again (preventing Bugs) | ||||
| 					System.exit(0);	//finishes itself | ||||
| 				}else{ | ||||
| 					loadSettings(); | ||||
| 				}	 | ||||
| 			}else{ | ||||
| 			dirLinux.mkdir(); | ||||
| 			mainWindowController.setPath(firstStart()); | ||||
| 			mainWindowController.setStreamingPath(streamingPathLinux); | ||||
| 			mainWindowController.setColor(color); | ||||
| 			mainWindowController.setSize(size); | ||||
| 			mainWindowController.setAutoUpdate(autoUpdate); | ||||
| 			mainWindowController.setLoaclUI(local); | ||||
| 			mainWindowController.setMode(mode); | ||||
| 			mainWindowController.saveSettings(); | ||||
| 			Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar");	//start again (preventing Bugs) | ||||
| 			System.exit(0);	//finishes itself | ||||
| 			} | ||||
| 		}else{ | ||||
| 			if(dirWin.exists() == true){ | ||||
| 				if (fileWin.exists() != true) { | ||||
| 					mainWindowController.setPath(firstStart()); | ||||
| 					mainWindowController.setStreamingPath(streamingPathWin); | ||||
| 					mainWindowController.setColor(color); | ||||
| 					mainWindowController.setSize(size); | ||||
| 					mainWindowController.setAutoUpdate(autoUpdate); | ||||
| 					mainWindowController.setLoaclUI(local); | ||||
| 					mainWindowController.setMode(mode); | ||||
| 					mainWindowController.saveSettings(); | ||||
| 					Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar");	//start again (preventing Bugs) | ||||
| 					System.exit(0);	//finishes itself | ||||
| 				}else{ | ||||
| 					loadSettings(); | ||||
| 				}	 | ||||
| 			}else{ | ||||
| 			dirWin.mkdir(); | ||||
| 			mainWindowController.setPath(firstStart()); | ||||
| 			mainWindowController.setStreamingPath(streamingPathWin); | ||||
| 			mainWindowController.setColor(color); | ||||
| 			mainWindowController.setSize(size); | ||||
| 			mainWindowController.setAutoUpdate(autoUpdate); | ||||
| 			mainWindowController.setLoaclUI(local); | ||||
| 			mainWindowController.setMode(mode); | ||||
| 			mainWindowController.saveSettings(); | ||||
| 			Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar");	//start again (preventing Bugs) | ||||
| 			System.exit(0);	//finishes itself | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		mainWindowController.loadStreamingSettings(); | ||||
| 		mainWindowController.applyColor();	//set theme color | ||||
| 		mainWindowController.cbLocal.getSelectionModel().select(mainWindowController.getLocal()); //set local | ||||
| 		mainWindowController.mainColor.setValue(Color.valueOf(mainWindowController.getColor())); | ||||
| 		 | ||||
| 		mainWindowController.dbController.main(); //initialize database controller | ||||
| 		mainWindowController.dbController.createDatabase(); //creating the database | ||||
| 		mainWindowController.dbController.loadData(); 	//loading data from database to mainWindowController  | ||||
| 		 | ||||
| //		mainWindowController.loadData();	//l<>d die Daten im Controller | ||||
| 		mainWindowController.addDataUI(); | ||||
| 		 | ||||
| 		Scene scene = new Scene(pane);	//create new scene, append pane to scene | ||||
| 		 | ||||
| 		primaryStage.setScene(scene);	//append scene to stage | ||||
| 		primaryStage.show();	//show stage | ||||
| 		} catch (IOException e) { | ||||
| 			e.printStackTrace(); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	//methode f<>r den erstmaligen Start | ||||
| 	private String firstStart(){ | ||||
| 		Alert alert = new Alert(AlertType.CONFIRMATION);	//new alert with filechooser | ||||
| 		alert.setTitle("Project HomeFlix"); | ||||
| 		alert.setHeaderText("Es ist kein Stammverzeichniss f<>r Filme angegeben!");	//TODO translate | ||||
| 		alert.setContentText("Stammverzeichniss angeben?"); | ||||
|  | ||||
| 		Optional<ButtonType> result = alert.showAndWait(); | ||||
| 		if (result.get() == ButtonType.OK){ | ||||
| 			DirectoryChooser directoryChooser = new DirectoryChooser(); | ||||
|             File selectedDirectory =  | ||||
|                 directoryChooser.showDialog(primaryStage); | ||||
|                 path = selectedDirectory.getAbsolutePath(); | ||||
|              | ||||
| 		} else { | ||||
| 		    path = ""; | ||||
| 		} | ||||
| 		return path; | ||||
| 	} | ||||
| 	 | ||||
| 	//lädt die einstellungen aus der XML | ||||
| 	public void loadSettings(){ | ||||
| 		try { | ||||
| 			if(System.getProperty("os.name").equals("Linux")){ | ||||
| 				inputStream = new FileInputStream(fileLinux); | ||||
| 			}else{ | ||||
| 				inputStream = new FileInputStream(fileWin); | ||||
| 			} | ||||
| 			props.loadFromXML(inputStream); | ||||
| 			path = props.getProperty("path");	//setzt Propselement in Pfad | ||||
| 			if(System.getProperty("os.name").equals("Linux")){ | ||||
| 				streamingPathLinux = props.getProperty("streamingPath"); | ||||
| 			}else{ | ||||
| 				streamingPathWin = props.getProperty("streamingPath"); | ||||
| 			} | ||||
| 			color = props.getProperty("color"); | ||||
| 			size = Double.parseDouble(props.getProperty("size")); | ||||
| 			autoUpdate = props.getProperty("autoUpdate"); | ||||
| 			local = Integer.parseInt(props.getProperty("local")); | ||||
| 			mode = props.getProperty("mode"); | ||||
| 			inputStream.close(); | ||||
| 		} catch (IOException e) { | ||||
| 			System.out.println("An error has occurred!"); | ||||
| 			e.printStackTrace(); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	public static void main(String[] args) { | ||||
| 		launch(args); | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user