Ein Push, sie alle zu knechten

This commit is contained in:
Sven Alteköster 2024-01-23 11:09:56 +01:00
parent 17f0d66677
commit 450e08b8e7
2 changed files with 101 additions and 17 deletions

View File

@ -1,10 +1,12 @@
package RestAPISchnittstelle; package RestAPISchnittstelle;
import java.net.ConnectException;
import java.net.URI; import java.net.URI;
import java.net.http.HttpClient; import java.net.http.HttpClient;
import java.net.http.HttpRequest; import java.net.http.HttpRequest;
import java.net.http.HttpResponse; import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.ArrayList; import java.util.ArrayList;
import Logik.ElternAccount; import Logik.ElternAccount;
@ -12,6 +14,7 @@ import Logik.Kind;
import Logik.Mahlzeit; import Logik.Mahlzeit;
import Logik.Tagesplan; import Logik.Tagesplan;
import com.google.gson.*; import com.google.gson.*;
import javafx.scene.control.Alert;
/** /**
* noch nicht getestet * noch nicht getestet
@ -22,6 +25,8 @@ public class RestApiClient implements IRestAPI{
private final String urlBase = "https://pbg2h22awo.web.pb.bib.de/VPR_Schnittstelle/VPR_Schnittstelle/restAPI.php"; private final String urlBase = "https://pbg2h22awo.web.pb.bib.de/VPR_Schnittstelle/VPR_Schnittstelle/restAPI.php";
private final int timeout = 10;
private final HttpClient client; private final HttpClient client;
private final Gson gson; private final Gson gson;
@ -54,6 +59,7 @@ public class RestApiClient implements IRestAPI{
URI apiUri = URI.create(String.format("%s/%s", urlBase, controllerName)); URI apiUri = URI.create(String.format("%s/%s", urlBase, controllerName));
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.GET() .GET()
.build(); .build();
@ -66,7 +72,14 @@ public class RestApiClient implements IRestAPI{
System.out.println("Status Code: " + httpResponse.statusCode()); System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body()); System.out.println("Response Body: " + httpResponse.body());
return httpResponse.body(); return httpResponse.body();
} catch (Exception e) { }
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
return null;
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
@ -83,6 +96,7 @@ public class RestApiClient implements IRestAPI{
URI apiUri = URI.create(String.format("%s/%s/%s", urlBase, controllerName, id)); URI apiUri = URI.create(String.format("%s/%s/%s", urlBase, controllerName, id));
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.GET() .GET()
.build(); .build();
@ -97,7 +111,14 @@ public class RestApiClient implements IRestAPI{
return httpResponse.body(); return httpResponse.body();
//System.out.println("Response Body: " + test); //System.out.println("Response Body: " + test);
} catch (Exception e) { }
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
return null;
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
@ -115,6 +136,7 @@ public class RestApiClient implements IRestAPI{
URI apiUri = URI.create(String.format("%s/%s?%s&%s", urlBase, controllerName, id, bezahlt)); URI apiUri = URI.create(String.format("%s/%s?%s&%s", urlBase, controllerName, id, bezahlt));
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.GET() .GET()
.build(); .build();
@ -127,7 +149,14 @@ public class RestApiClient implements IRestAPI{
System.out.println("Status Code: " + httpResponse.statusCode()); System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body()); System.out.println("Response Body: " + httpResponse.body());
return httpResponse.body(); return httpResponse.body();
} catch (Exception e) { }
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
return null;
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
@ -143,6 +172,7 @@ public class RestApiClient implements IRestAPI{
URI apiUri = URI.create(String.format("%s/%s?%s", urlBase, controllerName, ende)); URI apiUri = URI.create(String.format("%s/%s?%s", urlBase, controllerName, ende));
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.GET() .GET()
.build(); .build();
@ -157,7 +187,14 @@ public class RestApiClient implements IRestAPI{
return httpResponse.body(); return httpResponse.body();
//System.out.println("Response Body: " + test); //System.out.println("Response Body: " + test);
} catch (Exception e) { }
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
return null;
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
@ -176,6 +213,7 @@ public class RestApiClient implements IRestAPI{
URI apiUri = URI.create(String.format("%s/%s/%s", urlBase,controllerName, id)); URI apiUri = URI.create(String.format("%s/%s/%s", urlBase,controllerName, id));
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.header("Content-Type", "application/json") .header("Content-Type", "application/json")
.PUT(HttpRequest.BodyPublishers.ofString(jsonData, StandardCharsets.UTF_8)) .PUT(HttpRequest.BodyPublishers.ofString(jsonData, StandardCharsets.UTF_8))
@ -188,7 +226,13 @@ public class RestApiClient implements IRestAPI{
// Print the response status code and body // Print the response status code and body
System.out.println("Status Code: " + httpResponse.statusCode()); System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body()); System.out.println("Response Body: " + httpResponse.body());
} catch (Exception e) { }
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
@ -206,6 +250,7 @@ public class RestApiClient implements IRestAPI{
System.out.println(apiUri); System.out.println(apiUri);
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.header("Content-Type", "application/json") .header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonData, StandardCharsets.UTF_8)) .POST(HttpRequest.BodyPublishers.ofString(jsonData, StandardCharsets.UTF_8))
@ -218,7 +263,13 @@ public class RestApiClient implements IRestAPI{
// Print the response status code and body // Print the response status code and body
System.out.println("Status Code: " + httpResponse.statusCode()); System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body()); System.out.println("Response Body: " + httpResponse.body());
} catch (Exception e) { }
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
@ -236,6 +287,7 @@ public class RestApiClient implements IRestAPI{
System.out.println(apiUri); System.out.println(apiUri);
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.header("Content-Type", "application/json") .header("Content-Type", "application/json")
.DELETE() .DELETE()
@ -248,7 +300,13 @@ public class RestApiClient implements IRestAPI{
// Print the response status code and body // Print the response status code and body
System.out.println("Status Code: " + httpResponse.statusCode()); System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body()); System.out.println("Response Body: " + httpResponse.body());
} catch (Exception e) { }
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
@ -257,6 +315,7 @@ public class RestApiClient implements IRestAPI{
URI apiUri = URI.create(String.format("%s/%s/nextId", urlBase, controllerName)); URI apiUri = URI.create(String.format("%s/%s/nextId", urlBase, controllerName));
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.GET() .GET()
.build(); .build();
@ -276,7 +335,14 @@ public class RestApiClient implements IRestAPI{
return json.get("auto_increment").getAsInt(); return json.get("auto_increment").getAsInt();
} catch (Exception e) { }
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
return -1;
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return -1; return -1;
} }
@ -300,6 +366,7 @@ public class RestApiClient implements IRestAPI{
URI apiUri = URI.create(String.format("%s/Benutzer/anmeldeVersuch?Benutzername=%s&passwort=%s", urlBase, benutzer, passwort)); URI apiUri = URI.create(String.format("%s/Benutzer/anmeldeVersuch?Benutzername=%s&passwort=%s", urlBase, benutzer, passwort));
System.out.println(apiUri); System.out.println(apiUri);
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.header("Content-Type", "application/json") .header("Content-Type", "application/json")
.GET() .GET()
@ -314,10 +381,25 @@ public class RestApiClient implements IRestAPI{
System.out.println("Response Body: " + httpResponse.body()); System.out.println("Response Body: " + httpResponse.body());
if(httpResponse.body().equals("true")) if(httpResponse.body().equals("true"))
return true; return true;
else else{
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Falsche Anmeldedaten");
alert.setHeaderText("Fehler!");
alert.showAndWait();
return false; return false;
} catch (Exception e) { }
}
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
return false;
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Ein Uwuwarteter Fehler ist aufgetreten!");
alert.showAndWait();
return false; return false;
} }
} }
@ -333,6 +415,7 @@ public class RestApiClient implements IRestAPI{
URI apiUri = URI.create(String.format("%s/Tagesplan/getGerichteOnTag?datum=%s", urlBase, datum)); URI apiUri = URI.create(String.format("%s/Tagesplan/getGerichteOnTag?datum=%s", urlBase, datum));
System.out.println(apiUri); System.out.println(apiUri);
HttpRequest httpRequest = HttpRequest.newBuilder() HttpRequest httpRequest = HttpRequest.newBuilder()
.timeout(Duration.ofSeconds(timeout))
.uri(apiUri) .uri(apiUri)
.header("Content-Type", "application/json") .header("Content-Type", "application/json")
.GET() .GET()
@ -365,7 +448,14 @@ public class RestApiClient implements IRestAPI{
return t; return t;
} catch (Exception e) { }
catch(ConnectException conex){
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Verbindung zum Server konnte nicht aufgebaut werden!");
alert.showAndWait();
return null;
}
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }

View File

@ -33,11 +33,5 @@ public class VerwaltungController {
String credentials = String.format("{\"Benutzername\" : \"%s\", \"passwort\" : \"%s\"}", benutzernameTextfield.getText(), passwortTextfield.getText()); String credentials = String.format("{\"Benutzername\" : \"%s\", \"passwort\" : \"%s\"}", benutzernameTextfield.getText(), passwortTextfield.getText());
if(client.anmeldeVersuch(credentials)) if(client.anmeldeVersuch(credentials))
VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml"); VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
else {
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText("Falsche Anmeldedaten");
alert.setHeaderText("Fehler!");
alert.showAndWait();
}
} }
} }