Merge pull request #11 from Seil0/dev

update to build 127 "plasma cow"
This commit is contained in:
Jannik 2017-06-01 17:21:14 +02:00 committed by GitHub
commit 08048d57ac
22 changed files with 51 additions and 33 deletions

View File

@ -4,8 +4,8 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/> <classpathentry kind="con" path="org.eclipse.fx.ide.jdt.core.JAVAFX_CONTAINER"/>
<classpathentry kind="lib" path="src/libraries/minimal-json-0.9.4.jar"/> <classpathentry kind="lib" path="src/libraries/minimal-json-0.9.4.jar"/>
<classpathentry kind="lib" path="src/libraries/sqlite-jdbc-3.16.1.jar"/>
<classpathentry kind="lib" path="src/libraries/jfoenix-1.3.0.jar"/>
<classpathentry kind="lib" path="src/libraries/commons-io-2.5.jar"/> <classpathentry kind="lib" path="src/libraries/commons-io-2.5.jar"/>
<classpathentry kind="lib" path="src/libraries/jfoenix-1.4.0.jar"/>
<classpathentry kind="lib" path="src/libraries/sqlite-jdbc-3.18.0.jar"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View File

@ -1,5 +1,6 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.compliance=1.8

View File

@ -2,12 +2,13 @@
Project HomeFlix is a Kellerkinder Project, that alowes you to sort all your local saved movies in clean UI. Project HomeFlix is a Kellerkinder Project, that alowes you to sort all your local saved movies in clean UI.
The dev branch is **only merged** into master when a **new release** is released. Please commit all changes to [dev](https://github.com/Seil0/Project-HomeFlix/tree/dev). The dev branch is **only merged** into master when a **new release** is released, so **master contains the latest released version**. Please commit all changes to [dev](https://github.com/Seil0/Project-HomeFlix/tree/dev).
Librarys used in this Project: Librarys used in this Project:
JFoenix: https://github.com/jfoenixadmin/JFoenix JFoenix: https://github.com/jfoenixadmin/JFoenix
minimal-json: https://github.com/ralfstx/minimal-json minimal-json: https://github.com/ralfstx/minimal-json
sqlite-jdbc: https://github.com/xerial/sqlite-jdbc sqlite-jdbc: https://github.com/xerial/sqlite-jdbc
apache commons io : https://commons.apache.org/proper/commons-io/
## Installation ## Installation

1
bin/.gitignore vendored
View File

@ -1 +1,2 @@
/application/ /application/
/libraries/

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -32,7 +32,6 @@ import java.io.InputStreamReader;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.lang.Thread.State;
import java.math.BigInteger; import java.math.BigInteger;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
@ -184,10 +183,8 @@ public class MainWindowController {
static boolean firststart = false; static boolean firststart = false;
private int hashA = -2055934614; private int hashA = -2055934614;
private String version = "0.5.1"; private String version = "0.5.1";
private String buildNumber = "125"; private String buildNumber = "127";
private String versionName = "plasma cow"; private String versionName = "plasma cow";
private String buildURL = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/buildNumber.txt";
private String downloadLink = "https://raw.githubusercontent.com/Seil0/Project-HomeFlix/master/updates/downloadLink.txt";
private File dirWin = new File(System.getProperty("user.home") + "/Documents/HomeFlix"); private File dirWin = new File(System.getProperty("user.home") + "/Documents/HomeFlix");
private File dirLinux = new File(System.getProperty("user.home") + "/HomeFlix"); private File dirLinux = new File(System.getProperty("user.home") + "/HomeFlix");
private File fileWin = new File(dirWin + "/config.xml"); private File fileWin = new File(dirWin + "/config.xml");
@ -470,13 +467,9 @@ public class MainWindowController {
@FXML @FXML
private void updateBtnAction(){ private void updateBtnAction(){
System.out.println(Updater.getState()); Thread updateThread = new Thread(Updater);
if(Updater.getState() == State.NEW){ updateThread.setName("Updater");
Updater.start(); updateThread.start();
}else{
Updater.run();
}
} }
@FXML @FXML
@ -519,7 +512,7 @@ public class MainWindowController {
*/ */
void setMain(Main main) { void setMain(Main main) {
this.main = main; this.main = main;
Updater = new updater(this,buildURL, downloadLink, buildNumber); Updater = new updater(this, buildNumber);
dbController = new DBController(this, this.main); dbController = new DBController(this, this.main);
ApiQuery = new apiQuery(this, dbController, this.main); ApiQuery = new apiQuery(this, dbController, this.main);
} }
@ -763,8 +756,10 @@ public class MainWindowController {
if(autoUpdate){ if(autoUpdate){
autoupdateBtn.setSelected(true); autoupdateBtn.setSelected(true);
try { try {
Updater.start(); Thread updateThread = new Thread(Updater);
Updater.join(); updateThread.setName("Updater");
updateThread.start();
updateThread.join();
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -15,20 +15,25 @@ import javax.swing.ProgressMonitorInputStream;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import com.eclipsesource.json.Json;
import com.eclipsesource.json.JsonArray;
import com.eclipsesource.json.JsonObject;
import com.eclipsesource.json.JsonValue;
import javafx.application.Platform; import javafx.application.Platform;
public class updater extends Thread{ public class updater implements Runnable{
private MainWindowController mainWindowController; private MainWindowController mainWindowController;
private String buildURL;
private String downloadLink;
private String updateBuildNumber;
private String buildNumber; private String buildNumber;
private String apiOutput;
private String updateBuildNumber; //tag_name from Github
private String browserDownloadUrl; //update download link
private String githubApi = "https://api.github.com/repos/Seil0/Project-HomeFlix/releases/latest";
public updater(MainWindowController m, String buildURL,String downloadLink,String buildNumber){
public updater(MainWindowController m, String buildNumber){
mainWindowController=m; mainWindowController=m;
this.buildURL=buildURL;
this.downloadLink=downloadLink;
this.buildNumber=buildNumber; this.buildNumber=buildNumber;
} }
@ -37,14 +42,27 @@ public class updater extends Thread{
Platform.runLater(() -> { Platform.runLater(() -> {
mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("checkingUpdates")); mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("checkingUpdates"));
}); });
try {
URL url = new URL(buildURL); //URL of the text file with the current build number try {
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); URL githubApiUrl = new URL(githubApi);
updateBuildNumber = in.readLine(); //write InputStream in String BufferedReader ina = new BufferedReader(new InputStreamReader(githubApiUrl.openStream()));
in.close(); apiOutput = ina.readLine();
ina.close();
} catch (IOException e1) { } catch (IOException e1) {
mainWindowController.showErrorMsg(mainWindowController.errorUpdateV, e1); mainWindowController.showErrorMsg(mainWindowController.errorUpdateV, e1);
e1.printStackTrace();
} }
JsonObject object = Json.parse(apiOutput).asObject();
JsonArray objectAssets = Json.parse(apiOutput).asObject().get("assets").asArray();
updateBuildNumber = object.getString("tag_name", "");
// updateName = object.getString("name", "");
// updateChanges = object.getString("body", "");
for (JsonValue asset : objectAssets) {
browserDownloadUrl = asset.asObject().getString("browser_download_url", "");
}
System.out.println("Build: "+buildNumber+", Update: "+updateBuildNumber); System.out.println("Build: "+buildNumber+", Update: "+updateBuildNumber);
//Compares the program BuildNumber with the current BuildNumber if program BuildNumber < current BuildNumber then perform a update //Compares the program BuildNumber with the current BuildNumber if program BuildNumber < current BuildNumber then perform a update
@ -61,9 +79,10 @@ public class updater extends Thread{
mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnavail")); mainWindowController.updateBtn.setText(mainWindowController.bundle.getString("updateBtnavail"));
}); });
System.out.println("update available"); System.out.println("update available");
System.out.println("download link: " + browserDownloadUrl);
try { try {
//get the download-Data URL //get the download-Data URL
URL downloadURL = new URL(downloadLink); URL downloadURL = new URL(browserDownloadUrl);
BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream())); BufferedReader in = new BufferedReader(new InputStreamReader(downloadURL.openStream()));
String updateDataURL = in.readLine(); String updateDataURL = in.readLine();
@ -80,8 +99,9 @@ public class updater extends Thread{
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) {
//in case there is an error Platform.runLater(() -> {
mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e); mainWindowController.showErrorMsg(mainWindowController.errorUpdateD, e);
});
} }
} }
} }

Binary file not shown.

Binary file not shown.