From b79f46fd15b4985083fc8a0cf86435357ec74f4c Mon Sep 17 00:00:00 2001
From: Dennis Eisold <de@itstall.de>
Date: Fri, 29 Nov 2019 14:03:15 +0100
Subject: [PATCH] =?UTF-8?q?Neue=20Funktionen=20f=C3=BCr=20die=20Kommunikat?=
 =?UTF-8?q?ion=20zwischen=20Codierer=20und=20GUI?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../java/projekt/enigma/model/Codierer.java   | 26 +++++++++++++++----
 src/main/java/projekt/enigma/model/Walze.java |  2 ++
 2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java
index bf095d7..2217aaf 100644
--- a/src/main/java/projekt/enigma/model/Codierer.java
+++ b/src/main/java/projekt/enigma/model/Codierer.java
@@ -143,8 +143,8 @@ public class Codierer {
 				// Spruchschlüssel anhängen
 				this.spruchschluesselCodiert.substring(0, 3) + " " + this.spruchschluesselCodiert.substring(3, 6) + " ";
 
-				// Kenngruppe an das Ende setzen
-				//this.kenngruppeCodiert;
+		// Kenngruppe an das Ende setzen
+		//this.kenngruppeCodiert;
 	}
 
 	/**
@@ -173,7 +173,7 @@ public class Codierer {
 	/**
 	 * Gibt die letzte empfangene Nachricht zurück
 	 * <br>
-	 * String[0} Tag wann die Nachricht gesendet wurde
+	 * String[0] Tag wann die Nachricht gesendet wurde
 	 * String[1] = Die verschlüsselte Nachricht
 	 * String[2] = Nachricht im Klartext
 	 */
@@ -188,6 +188,19 @@ public class Codierer {
 			nachricht[0] = codierteNachricht[0];
 			nachricht[1] = mc.convertMorsecodeToBuchstabe(codierteNachricht[1]);
 			nachricht[2] = this.decodiere(nachricht[1], Integer.parseInt(nachricht[0]));
+			StringBuilder sb = new StringBuilder();
+
+			sb.append(nachricht[1], 0, 16);
+			for(int i = 17; i <= nachricht[1].length();) {
+				if ((i + 5) < nachricht[1].length()) {
+					sb.append(nachricht[1], i, i + 5).append(" ");
+					i += 5;
+				} else {
+					sb.append(nachricht[1].substring(i));
+					break;
+				}
+			}
+			nachricht[1] = sb.toString();
 		}
 
 		return nachricht;
@@ -255,7 +268,7 @@ public class Codierer {
 	 */
 	public char codiere(char buchstabe, boolean save) {
 		char codiert = this.hardware.codiere(buchstabe);
-		if(save) {
+		if (save) {
 			this.nachricht += codiert;
 		}
 
@@ -264,6 +277,7 @@ public class Codierer {
 
 	/**
 	 * TODO: Dokumentieren
+	 *
 	 * @param klartext
 	 * @param save
 	 * @return
@@ -319,6 +333,7 @@ public class Codierer {
 
 	/**
 	 * TODO: Dokumentieren
+	 *
 	 * @param nachricht
 	 * @return
 	 */
@@ -343,7 +358,8 @@ public class Codierer {
 	}
 
 	/**
-	 * TODO: Dokumentieren
+	 * Setzt die Walze auf der Position (walzenPosition) in die Enigma ein.
+	 * Mit dem char (position) sagt man auf welchen Buchstaben sie eingestellt werden soll.
 	 *
 	 * @param walzenPosition
 	 * @param position
diff --git a/src/main/java/projekt/enigma/model/Walze.java b/src/main/java/projekt/enigma/model/Walze.java
index e6da927..51648ac 100644
--- a/src/main/java/projekt/enigma/model/Walze.java
+++ b/src/main/java/projekt/enigma/model/Walze.java
@@ -140,6 +140,8 @@ public class Walze {
 
 	/**
 	 * TODO: Dokumentieren
+	 * TODO: Ich glaube das kann weg?
+	 *
 	 * @return
 	 */
 	public char getAnzeige() {
-- 
GitLab