diff --git a/src/main/java/Enigma/App.java b/src/main/java/Enigma/App.java index d166be1527024b2dbcf6c3d3c7442fd8e6cc3dc4..005c44a50e3583b6839306fbc21aeb640ebbb8e9 100644 --- a/src/main/java/Enigma/App.java +++ b/src/main/java/Enigma/App.java @@ -7,11 +7,7 @@ import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; import org.apache.http.HttpException; - import java.io.IOException; -import java.sql.SQLException; -import java.time.LocalDate; -import java.time.ZoneId; /** * JavaFX App @@ -19,8 +15,7 @@ import java.time.ZoneId; public class App extends Application { private static Scene scene; - private Codebuch cb; - private Hardware h; + private Codierer c; static void setRoot(String fxml) throws IOException { scene.setRoot(loadFXML(fxml)); @@ -41,72 +36,29 @@ public class App extends Application { stage.setScene(scene); stage.show(); - initialisiereHardware(); + this.c = new Codierer(); /** * TODO: Nur zum Testen muss spÃĪter wieder gelÃķscht werden. */ //region Test - h.setKenngruppe("deisold"); + c.setKenngruppe("deisold"); String nachricht = "Hello world."; for (char buchstabe : nachricht.toCharArray()) { - System.out.print(buchstabe + ":"); - System.out.print(h.codiere(buchstabe)); - System.out.println(" W1:" + h.getWalzen()[0].getBuchstabe() + " W2:" + h.getWalzen()[1].getBuchstabe() + " W3:" + h.getWalzen()[2].getBuchstabe()); + if(buchstabe > 0) { + System.out.print(buchstabe + ":"); + System.out.print(c.getHardware().codiere(buchstabe)); + System.out.println(" W1:" + c.getHardware().getWalzen()[0].getBuchstabe() + " W2:" + c.getHardware().getWalzen()[1].getBuchstabe() + " W3:" + c.getHardware().getWalzen()[2].getBuchstabe()); + } } try { - System.out.println(h.getNachricht()); - h.sendeNachricht(); + System.out.println(c.getNachricht()); + c.sendeNachricht(); } catch (HttpException e) { e.printStackTrace(); } //endregion } - /** - * Hier lesen wir den heutigen Eintrag aus dem Codebuch aus und erstellen ein Codebuch Objekt - * Nach dem Codebuch werden dann die Ringe auf die Walzen gesteckt und die Walzen anschlieÃend - * in die Hardware gebaut. - * <p> - * Ein Reflektor wird definiert, jedoch keine Werte zugewisen, da wir nur einen besitzen und - * deshalb alle Einstellungen hierfÞr Statisch im Reflektor definiert haben. - * <p> - * Das Steck wird ebenfalls definiert und die notwendigen Kabel eingesteckt laut dem heutigen - * Codebuch Eintrag. - */ - private void initialisiereHardware() { - - // Hole den heutigen Eintrag aus der SQLite Datenbank und erstelle daraus ein Codebuch Objekt - try { - this.cb = new DatenbankSqlite().getCodebuch(LocalDate.now(ZoneId.of("Europe/Berlin")).getDayOfMonth()); - } catch (SQLException ignored) { - } - - // TODO: Was zum Henker macht der hier????!? - System.out.println(this.cb.toString()); - - // Das Steckbrett initialisieren - Steckbrett sb = new Steckbrett(); - char[][] verbinder = cb.getSteckverbindung(); - // FÞr jedes Kabel eine Verbindung auf dem Steckbrett setzen - for (char[] kabel : verbinder) { - sb.setzeVertauschung(kabel[0], kabel[1]); - } - - // Die Hardware aus dem Koffer holen (initialisieren) - this.h = new Hardware(); - - // Den Ring an der Walze anbringen und die Walze dann in die Hardware einsetzen - h.setWalzen(0, cb.getWalzenlage()[0], cb.getRingstellung()[0]); - h.setWalzen(1, cb.getWalzenlage()[1], cb.getRingstellung()[1]); - h.setWalzen(2, cb.getWalzenlage()[2], cb.getRingstellung()[2]); - - // Der Hardware das gesetzte Steckbrett zuweisen - h.setSteckbrett(sb); - - // Ein Reflektor Objekt erstellen und der Hardware bekannt geben - h.setReflektor(new Reflektor()); - } - } \ No newline at end of file