Added Config
This commit is contained in:
parent
4020d59284
commit
c040e54fb8
@ -1,10 +1,13 @@
|
||||
package main;
|
||||
|
||||
import config.Config;
|
||||
import config.ConfigLoader;
|
||||
import javafx.application.Application;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.stage.Stage;
|
||||
import res.DataController;
|
||||
import res.HttpRequest;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Objects;
|
||||
@ -12,10 +15,46 @@ import java.util.Objects;
|
||||
public class MainApplication extends Application {
|
||||
@Override
|
||||
public void start(Stage stage) throws IOException {
|
||||
Config config = ConfigLoader.load();
|
||||
if(config == null){
|
||||
config = new Config(false, -1, "");
|
||||
}
|
||||
|
||||
System.out.println("Ignore 'Illegal reflective access operation'-Warning. See https://github.com/sshahine/JFoenix/issues/1170");
|
||||
|
||||
// Load login-scene
|
||||
if(
|
||||
!config.isLoginSaved()
|
||||
|| new DataController().loginWithToken(config.getId(), config.getToken())
|
||||
){
|
||||
// Load login-scene
|
||||
loadLoginScene();
|
||||
}
|
||||
|
||||
if (DataController.USER_ID >= 0) {
|
||||
if(config.isLoginSaved()){
|
||||
config.setId(DataController.USER_ID);
|
||||
config.setToken(HttpRequest.TOKEN);
|
||||
}
|
||||
// Load main-scene
|
||||
loadMainScene(stage);
|
||||
|
||||
System.out.println("Logged in...");
|
||||
}
|
||||
}
|
||||
|
||||
private void loadMainScene(Stage stage) throws IOException {
|
||||
FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("main-view.fxml"));
|
||||
|
||||
Scene scene = new Scene(fxmlLoader.load(), 1200, 700);
|
||||
scene.getStylesheets().add(Objects.requireNonNull(
|
||||
MainApplication.class.getResource("main-view.css")).toExternalForm()
|
||||
);
|
||||
stage.setTitle("SharePlaner");
|
||||
stage.setScene(scene);
|
||||
stage.show();
|
||||
}
|
||||
|
||||
private void loadLoginScene() throws IOException {
|
||||
FXMLLoader fxmlLoaderLogin = new FXMLLoader(MainApplication.class.getResource("../users/login.fxml"));
|
||||
Scene sceneLogin = new Scene(fxmlLoaderLogin.load(), 650, 500);
|
||||
sceneLogin.getStylesheets().add(Objects.requireNonNull(
|
||||
@ -25,21 +64,6 @@ public class MainApplication extends Application {
|
||||
stageLogin.setTitle("Anmelden");
|
||||
stageLogin.setScene(sceneLogin);
|
||||
stageLogin.showAndWait();
|
||||
|
||||
if (DataController.USER_ID >= 0) {
|
||||
// Load main-scene
|
||||
FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("main-view.fxml"));
|
||||
|
||||
Scene scene = new Scene(fxmlLoader.load(), 1200, 700);
|
||||
scene.getStylesheets().add(Objects.requireNonNull(
|
||||
MainApplication.class.getResource("main-view.css")).toExternalForm()
|
||||
);
|
||||
stage.setTitle("SharePlaner");
|
||||
stage.setScene(scene);
|
||||
stage.show();
|
||||
|
||||
System.out.println("Logged in...");
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
41
client/data/src/main/java/config/Config.java
Normal file
41
client/data/src/main/java/config/Config.java
Normal file
@ -0,0 +1,41 @@
|
||||
package config;
|
||||
|
||||
public class Config {
|
||||
private boolean saveLogin;
|
||||
private long id;
|
||||
private String token;
|
||||
|
||||
public Config(){
|
||||
|
||||
}
|
||||
|
||||
public Config(boolean saveLogin, long id, String token) {
|
||||
this.saveLogin = saveLogin;
|
||||
this.id = id;
|
||||
this.token = token;
|
||||
}
|
||||
|
||||
public boolean isLoginSaved() {
|
||||
return saveLogin;
|
||||
}
|
||||
|
||||
public void setSaveLogin(boolean saveLogin) {
|
||||
this.saveLogin = saveLogin;
|
||||
}
|
||||
|
||||
public long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getToken() {
|
||||
return token;
|
||||
}
|
||||
|
||||
public void setToken(String token) {
|
||||
this.token = token;
|
||||
}
|
||||
}
|
38
client/data/src/main/java/config/ConfigLoader.java
Normal file
38
client/data/src/main/java/config/ConfigLoader.java
Normal file
@ -0,0 +1,38 @@
|
||||
package config;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import res.DataController;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
public class ConfigLoader {
|
||||
|
||||
public static Config load(){
|
||||
try {
|
||||
String jsonString = Files.readString(Paths.get("config.json"));
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
objectMapper.findAndRegisterModules();
|
||||
return objectMapper.readValue(jsonString, Config.class);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void save(Config config){
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
objectMapper.findAndRegisterModules();
|
||||
|
||||
try {
|
||||
Files.writeString(Paths.get(
|
||||
"config.json"),
|
||||
objectMapper.writeValueAsString(config)
|
||||
);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user