From cb6c55a63985739b1afa1b339e567d94673cd275 Mon Sep 17 00:00:00 2001 From: Marc Beyer Date: Mon, 20 Dec 2021 19:26:07 +0100 Subject: [PATCH] Added user login --- .../src/main/java/main/MainApplication.java | 7 ++- .../src/main/java/users/LoginControler.java | 4 -- .../src/main/java/users/LoginController.java | 49 +++++++++++++++++++ .../app/src/main/resources/users/login.fxml | 18 +++---- .../src/main/java/res/DataController.java | 19 ++++++- 5 files changed, 79 insertions(+), 18 deletions(-) delete mode 100644 client/app/src/main/java/users/LoginControler.java create mode 100644 client/app/src/main/java/users/LoginController.java diff --git a/client/app/src/main/java/main/MainApplication.java b/client/app/src/main/java/main/MainApplication.java index ac5f771..2522e16 100644 --- a/client/app/src/main/java/main/MainApplication.java +++ b/client/app/src/main/java/main/MainApplication.java @@ -4,6 +4,7 @@ import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.stage.Stage; +import res.DataController; import java.io.IOException; import java.util.Objects; @@ -17,7 +18,6 @@ public class MainApplication extends Application { scene.getStylesheets().add(Objects.requireNonNull(MainApplication.class.getResource("main-view.css")).toExternalForm()); stage.setTitle("SharePlaner"); stage.setScene(scene); - stage.show(); FXMLLoader fxmlLoaderLogin = new FXMLLoader(MainApplication.class.getResource("../users/login.fxml")); Scene sceneLogin = new Scene(fxmlLoaderLogin.load(), 650, 500); @@ -25,8 +25,11 @@ public class MainApplication extends Application { Stage stageLogin = new Stage(); stageLogin.setTitle("Anmelden"); stageLogin.setScene(sceneLogin); - stageLogin.show(); + stageLogin.showAndWait(); + if(DataController.USER_ID >= 0){ + stage.show(); + } } public static void main(String[] args) { diff --git a/client/app/src/main/java/users/LoginControler.java b/client/app/src/main/java/users/LoginControler.java deleted file mode 100644 index df20ac2..0000000 --- a/client/app/src/main/java/users/LoginControler.java +++ /dev/null @@ -1,4 +0,0 @@ -package users; - -public class LoginControler { -} diff --git a/client/app/src/main/java/users/LoginController.java b/client/app/src/main/java/users/LoginController.java new file mode 100644 index 0000000..ebb330f --- /dev/null +++ b/client/app/src/main/java/users/LoginController.java @@ -0,0 +1,49 @@ +package users; + +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.scene.Node; +import javafx.scene.control.Label; +import javafx.scene.control.TextField; +import javafx.stage.Stage; +import res.DataController; + +public class LoginController { + @FXML + public TextField userField; + @FXML + public TextField passField; + @FXML + public Label userErrLabel; + @FXML + public Label passErrLabel; + + @FXML + protected void login(ActionEvent event){ + if(userField.getText().trim().isEmpty()){ + userErrLabel.setText("Bitte laginnamen eingeben!"); + return; + } + if(passField.getText().trim().isEmpty()){ + userErrLabel.setText(""); + passErrLabel.setText("Bitte passwort eingeben!"); + return; + } + + DataController dataController = new DataController(); + if(!dataController.login(userField.getText(), passField.getText())){ + userErrLabel.setText("Name und Passwort passen nicht zueinander!"); + passErrLabel.setText("Name und Passwort passen nicht zueinander!"); + return; + } + + Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); + stage.close(); + } + + @FXML + protected void abortBtnClick(ActionEvent event) { + Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); + stage.close(); + } +} diff --git a/client/app/src/main/resources/users/login.fxml b/client/app/src/main/resources/users/login.fxml index 39752ca..a54a36f 100644 --- a/client/app/src/main/resources/users/login.fxml +++ b/client/app/src/main/resources/users/login.fxml @@ -1,12 +1,8 @@ - - - - - + @@ -23,14 +19,14 @@ - - + + diff --git a/client/data/src/main/java/res/DataController.java b/client/data/src/main/java/res/DataController.java index 84e5cad..88566b6 100644 --- a/client/data/src/main/java/res/DataController.java +++ b/client/data/src/main/java/res/DataController.java @@ -14,10 +14,13 @@ import java.util.*; public class DataController { + public static long USER_ID = -1; + private static final String ALL_EVENTS_ENDPOINT = "http://localhost:8080/vpr/all-events"; private static final String ALL_USERS_ENDPOINT = "http://localhost:8080/vpr/all-users"; private static final String ADD_EVENT_ENDPOINT = "http://localhost:8080/vpr/add-event"; private static final String DELETE_EVENT_ENDPOINT = "http://localhost:8080/vpr/del-event"; + private static final String LOGIN_ENDPOINT = "http://localhost:8080/vpr/login"; private final HttpRequest httpRequest; @@ -25,6 +28,20 @@ public class DataController { httpRequest = new HttpRequest(); } + public boolean login(String username, String password){ + try { + USER_ID = Long.parseLong(httpRequest.sendPostRequest( + LOGIN_ENDPOINT, + "login=" + username + + "&password=" + password + )); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return USER_ID >= 0; + } + public void createEvent(Event event){ try { System.out.println(httpRequest.sendPostRequest(ADD_EVENT_ENDPOINT, event.getAsUrlParam())); @@ -45,7 +62,7 @@ public class DataController { ArrayList eventList = new ArrayList<>(); try { - String jsonResponse = httpRequest.sendPostRequest(ALL_EVENTS_ENDPOINT, "userId=1"); + String jsonResponse = httpRequest.sendPostRequest(ALL_EVENTS_ENDPOINT, "userId=" + USER_ID); System.out.println(jsonResponse); ObjectMapper objectMapper = new ObjectMapper();