From 05ae02a54ba6e8a80d5d38d2297925b3fbd40d43 Mon Sep 17 00:00:00 2001
From: pstenkamp <philipp.stenkamp@hs-bochum.de>
Date: Fri, 20 Jan 2017 23:57:43 +0100
Subject: [PATCH] Added the missing comments and read everything proof once
 again. The Java Native Package does not yet work though..

---
 .../bin/gui/MainApp.class                     | Bin 11074 -> 11073 bytes
 .../bin/gui/view/EngineController$1.class     | Bin 1777 -> 1777 bytes
 .../bin/gui/view/EngineController.class       | Bin 5301 -> 5297 bytes
 .../bin/gui/view/RootLayoutController.class   | Bin 1258 -> 1258 bytes
 .../bin/gui/view/SettingsController.class     | Bin 2531 -> 2531 bytes
 .../bin/gui/view/SwitchControl$1.class        | Bin 1668 -> 1668 bytes
 .../bin/gui/view/SwitchControl.class          | Bin 3538 -> 3538 bytes
 .../bin/gui/view/SwitchListController.class   | Bin 1809 -> 1809 bytes
 .../bin/gui/view/TurntableController.class    | Bin 1254 -> 1254 bytes
 .../src/common/Properties.java                |   6 ++---
 .../VINF_MaerklinControl/src/gui/MainApp.java |   8 +++---
 .../src/gui/model/Engine.java                 |   2 +-
 .../src/gui/model/Settings.java               |   2 +-
 .../src/gui/model/Switch.java                 |   2 +-
 .../src/gui/view/EngineController.java        |  24 ++++++++++++++----
 .../src/gui/view/RootLayoutController.java    |  17 ++++++++++++-
 .../src/gui/view/SettingsController.java      |  14 ++++++++--
 .../src/gui/view/SwitchControl.java           |   9 ++++++-
 .../src/gui/view/SwitchListController.java    |   6 ++++-
 .../src/gui/view/TurntableController.java     |   6 +++++
 .../src/server/Engine.java                    |   4 +--
 .../src/server/MaerklinProtocol.java          |   4 +--
 .../src/server/MaerklinServer.java            |  14 +++++-----
 .../src/server/MaerklinServerApplication.java |   2 +-
 .../src/server/Switch.java                    |   2 +-
 25 files changed, 89 insertions(+), 33 deletions(-)

diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp.class
index d1bc6059aa050e2c06bbb3b9be55f174a6c28c3c..67a8e26df7da05a7d1adc22d906d86af0f829128 100644
GIT binary patch
delta 17
ZcmX>Ub}($iTn-j--@{8bFXC9B1OP_|2Xg=b

delta 18
acmX>Yb|`GaTn<(V-}n3XZeGZ-KnVa+^$2(X

diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController$1.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController$1.class
index 8a1705c8c565be6d30afac690cb28db1b5505e45..bbaaca2ed86652e45302461af36e8e8a53323fab 100644
GIT binary patch
delta 31
ncmey!`;m9UDON_~$){O!c+D6@7|a<|87vrd7%V5du&o6EpQH#`

delta 31
ncmey!`;m9UDON_^$){O!cnugt7z`Oy8H^Zo7>p;ou&o6Eo)QQ<

diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/EngineController.class
index 53db6af0fef88ce05f017d0770de6b5df7ec4b20..9e5035f048599bfb7d9a77ba59c9cfba7bac826b 100644
GIT binary patch
delta 224
zcmdn0xlwb&e=Z5mvizd*!%K=via8igF*0x$9p00iU4D4UWGU`+E*^!%(&F^g^219u
z_i$&kuqrdKFsMxa!(S<>!@$9y%OJpDz#zq7$e_Srz@W@v%wWo3J-JVyQqY-!mBEEU
zfWehPg~5%%k->ekgkTb{H-jL94}%PYFM|Su-{N*bM%^F=5r$v}O@>egV}>w>K!$LJ
zQiceIHik%s`3zAEYZ#&#wlTyq>}7~!IKdD<d5h3w-V6p-hD-(}hAaj(hV029!fuRt
blV=OtFv?E8A#B7bGnre&n9*>uy+|1VurM{B

delta 228
zcmdm}xm9z+e=cdRvizd*_xtx2l@xO@oML3)EqcFyZ*n$BXtFqWIybLEVrg-DDu}<i
zgFBmrRi1%`L1FR_{z^#=1`Y;I1_1^w1}O$@1_cH!24x0a22%#p$z1}Kg0>8-40a3x
z4E78v3=RyA433jU1e17O7z7zy8DtpT7!(-X7dHzs>UuGVFnBX)GWaqWGx#wCGWau;
zG6XQRF$6NqX9!|g!w}4{jUkj_FGCo^35M{=8-ynFMlrB5L^CKc#4xBa#7+(nc4JJK
aJYCp^QF8JXVIxL~$?PJ=jM|f}Malq<H8@lN

diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/RootLayoutController.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/RootLayoutController.class
index b4140357c2889d53743a6e76e50633463ec60f71..788da3721828d30c851e5caaef548b61a9a1aaae 100644
GIT binary patch
delta 53
zcmaFG`HFMHTxLeT$@7?PS>+g58RREFU=CwdV-R6bpKQ(Iz^cu_!Jsp_fyI;6fPtOC
JaPm18831g!3-ka0

delta 53
zcmaFG`HFMHTxLeD$@7?PSw$IG8N?<(U=CxIWDsGHnrzMDz$(kY!5}xefyI+mk%65-
JY4SN1831Gc3yJ^$

diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/SettingsController.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/SettingsController.class
index ea4c300665f0836cdbfbbe5e16a462e625317a18..452c6fc6ce0a59a4897dd1510c42cb5193b24593 100644
GIT binary patch
delta 81
zcmaDX{8)HH8i$}EgFJ%~gF1sTgEoT+gAs%2<Z_Oks+J6V3|0&h4Au;a3^oj247LoR
l40a4j4E7A!3=Rx=3{DK?3@(#HIg?p^7+4v6C-3D{0|0mc4<-Nr

delta 81
zcmaDX{8)HH8i$}RgFJ&CgF1sggEoT!gAs$_<Z_OkswND445kbc3}y_94CV}83>FNb
l43-Q@3|0);4Au;J47LpA4EB>lIg?qP7+4vcC-3D{0|0C84$J@m

diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/SwitchControl$1.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/SwitchControl$1.class
index b3aca2314b3b8a4b7116cb336e9323fb0af5bbb5..a4459978b00983113e466821b5d7de759925669d 100644
GIT binary patch
delta 31
mcmZqSZQ<RJ#>(h1Ih{3`*NcIh!J9#b!G}Sa!FTd?*0lh5@&}3l

delta 31
mcmZqSZQ<RJ#>(h8Ih{3`*O`Hv!G%GF!IeRo!EN$&*0lh49S3Is

diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/SwitchControl.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/SwitchControl.class
index 4f6570f76d536d2918fe8ca3a0aa4355e39eb40c..99f12c81d2776d55e81bd07b580397c41cc5e06a 100644
GIT binary patch
delta 163
zcmca4eMx%5D=t$51{MYt20;c@1~~>b25km)1`7s523rPW20sQ9hF}I$h6n~ThFAtm
zh9m|nhBO9ihI|Iw$@1J=1YH^U7~B{n8Qd9E7(5uv82l$c;kIQBXJBQBn5@Qg!7zqF
zkRgsinjxOSk|BY?jUkc2mm!HEf+3k9nIVNCjUkO8mm!^@f+2&UnIVgzk0E=qI&UbW
P^5j}xBSxjk8+erfH&`CB

delta 163
zcmca4eMx%5D=t$_1{MZ+20;b|1~~>r25kl<1`7r)23rOl20sQ}hF}Igh6o0IhFAt8
zh9m}KhBO8fhI|II$@1J=1nn6380;A&85|f?7#tbQ7(6CF;kIQBU|?kkoUF!k!7!9T
zkRhBwnjwP0k|C18jUkG`mm!)Vf+2<>nIV=TjUk>Pmmz_nf+3NinIV~>k0E8UI&UbW
P+~itbBSzWD8+erf>th|l

diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/SwitchListController.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/SwitchListController.class
index 5eb98fedcfc1591bfcd2e801fc283727840a13c5..4fdee574b5b1dbf7de1e5f8b7f1905f504703285 100644
GIT binary patch
delta 41
wcmbQpH<52cH=C>>0|$c<0}q2SgCK(mgC>J1gENCMLjZ$0LmY#}<P~h00GBuiCjbBd

delta 41
wcmbQpH<52cH=C?30|$d10}q2fgCK(egC>I^gENCZLjZ#@LmY$2<P~h00F>AV2LJ#7

diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/view/TurntableController.class b/Praktikum/VINF_MaerklinControl/bin/gui/view/TurntableController.class
index 00da853b45178b3a87ddd07aa3ff6ee1db3d7ef9..c21adb1fb3fb59b414caf8f9799f72036f49df01 100644
GIT binary patch
delta 51
zcmaFH`HXYJG-gJg$<vu#7-c8lVYX#eWng7cpDf1`H2ENl+~htMV@^W`b_OE`0S4pA
Hr&weFdaex7

delta 51
zcmaFH`HXYJG-gJQ$<vu#7$qm)VYX#eWME}bo-D@_#Hq%>&Y;d9z@Ra?lEq_k0gK$^
H`z-7LT}lj3

diff --git a/Praktikum/VINF_MaerklinControl/src/common/Properties.java b/Praktikum/VINF_MaerklinControl/src/common/Properties.java
index f4fc6cb..6c684e7 100644
--- a/Praktikum/VINF_MaerklinControl/src/common/Properties.java
+++ b/Praktikum/VINF_MaerklinControl/src/common/Properties.java
@@ -1,9 +1,9 @@
 package common;
 
 /*
- * In dieser Klasse werden alle klassenübergreifen verwendeten Werte einmalig deklariert, 
- * so dass potentielle Änderungen lediglich einmalig an dieser Stelle durchgeführt werden 
- * müssen und Code-Vervielfachung vermieden wird (Einhaltung des DRY-Prinzips).
+ * In dieser Klasse werden alle klassenuebergreifend verwendeten Werte einmalig deklariert, 
+ * so dass potentielle Aenderungen lediglich einmalig an dieser Stelle durchgefuehrt werden 
+ * muessen und Code-Vervielfachung vermieden wird (Einhaltung des DRY-Prinzips).
  */
 public class Properties {
 	
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java
index f0b31a5..309010f 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java
@@ -31,7 +31,7 @@ import common.Properties;
 
 /*
  * Die Klasse MainApp stellt die Hauptklasse der Clients dar. In ihr wird die GUI initialisiert 
- * und geladen sowie sämtliche "nach außen" (zum Server) gerichteten Funktionalitäten implementiert.
+ * und geladen sowie saemtliche "nach aussen" (zum Server) gerichteten Funktionalitaeten implementiert.
  */
 public class MainApp extends Application {
 
@@ -83,11 +83,11 @@ public class MainApp extends Application {
         
     }
     
-    // Initializes the loading of the GUI
+    // Initializes the GUI
     @Override
     public void start(Stage primaryStage) {
         this.primaryStage = primaryStage;
-        this.primaryStage.setTitle("M�rklin Control Client");
+        this.primaryStage.setTitle("M�rklin Control Client");
         this.primaryStage.getIcons().add(new Image("file:res/BO.png"));
         initRootLayout();
         initTabs();
@@ -112,7 +112,7 @@ public class MainApp extends Application {
         }
     }
 
-    // Shows the control tabs inside the root layout.
+    // Shows the control tabs inside the tab pane of the root layout.
     public void initTabs() {
         try {
         	FXMLLoader loader = new FXMLLoader();
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/model/Engine.java b/Praktikum/VINF_MaerklinControl/src/gui/model/Engine.java
index 49d87f6..617e481 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/model/Engine.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/model/Engine.java
@@ -12,7 +12,7 @@ import javafx.beans.property.StringProperty;
 import javafx.scene.image.Image;
 
 /*
- * Modell-Klasse für einen Zug.
+ * Modell-Klasse fuer einen Zug.
  */
 public class Engine {
 
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/model/Settings.java b/Praktikum/VINF_MaerklinControl/src/gui/model/Settings.java
index fba05f5..f2db8d0 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/model/Settings.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/model/Settings.java
@@ -7,7 +7,7 @@ import javafx.beans.property.ObjectProperty;
 import javafx.beans.property.SimpleObjectProperty;
 
 /*
- * Modell-Klasse für die Einstellungen der App.
+ * Modell-Klasse fuer die Einstellungen der App.
  */
 public class Settings {
 	private final ObjectProperty<InetSocketAddress> server;
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/model/Switch.java b/Praktikum/VINF_MaerklinControl/src/gui/model/Switch.java
index 7f76416..1db5a72 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/model/Switch.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/model/Switch.java
@@ -11,7 +11,7 @@ import javafx.beans.property.StringProperty;
 import javafx.beans.property.ObjectProperty;
 
 /*
- * Modell-Klasse für eine Weiche.
+ * Modell-Klasse fuer eine Weiche.
  */
 public class Switch{
 
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/view/EngineController.java b/Praktikum/VINF_MaerklinControl/src/gui/view/EngineController.java
index 72473ad..fa17d12 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/view/EngineController.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/view/EngineController.java
@@ -10,6 +10,10 @@ import javafx.scene.image.ImageView;
 import gui.MainApp;
 import gui.model.Engine;
 
+/*
+ * Die Klasse EngineController stellt den Controller f�r die Bedienelemente zur Steuerung der Lokomotiven bereit. 
+ */
+
 public class EngineController {
 	@FXML
 	private ImageView engineImage;
@@ -38,9 +42,11 @@ public class EngineController {
     @FXML
     private void initialize() {
     	engineSpeedSlider.setValue(0);
-        engineFwdButton.setSelected(true); // initializes the forward Button as pressed
+        engineFwdButton.setSelected(true); // initializes the forward Button as pressed - default direction
+        
+        // updates the local reference of the selected engine to the Engine selected in the ChoiceBox
         engineChoiceBox.getSelectionModel().selectedItemProperty().addListener(
-        		(observable, oldValue, newValue) -> setSelectedEngine(newValue));
+        		(observable, oldValue, newValue) -> setSelectedEngine(newValue)); 
         
         engineSpeedSlider.valueProperty().addListener(new ChangeListener<Number>() {
         	public void changed(ObservableValue<? extends Number> ov,
@@ -64,12 +70,14 @@ public class EngineController {
         engineImage.setImage(mainApp.getEngines().get(0).getImg().get());
     }
     
+    // Is called if the state of the direction buttons changes and updates the engine model accordingly
     public void handleEngineDirection(){
     	eng.setDirection(engineFwdButton.isSelected());
     	mainApp.setEngineDirection(eng);
     	updateEngineStatus();
     }
     
+    // updates the GUI to the values of the currently selected engine
     public void updateEngineStatus(){
     	engineImage.setImage(eng.getImg().get());
     	engineSpeedSlider.setValue(eng.getSpeed().get()/10);
@@ -80,15 +88,21 @@ public class EngineController {
     	engineFwdButton.setSelected(eng.getDirection().get());
     	engineRevButton.setSelected(!eng.getDirection().get());
     	if (eng.getDirection().get())
-    		status.append("vorw�rts");
+    		status.append("vorw�rts");
     	else
-    		status.append("r�ckw�rts");
+    		status.append("r�ckw�rts");
     	mainApp.setStatus(status.toString());
     }
     
+    
+    /**
+     * updates the local reference of the selected engine to the given one
+     * 
+     * @param Engine
+     */
     public void setSelectedEngine(Engine eng){
     	this.eng = eng;
-    	mainApp.setStatus(eng.toString() + " ausgew�hlt");
+    	mainApp.setStatus(eng.toString() + " ausgew�hlt");
     	updateEngineStatus();
     }
     
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/view/RootLayoutController.java b/Praktikum/VINF_MaerklinControl/src/gui/view/RootLayoutController.java
index f47880d..3432ca8 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/view/RootLayoutController.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/view/RootLayoutController.java
@@ -7,6 +7,10 @@ import org.controlsfx.control.StatusBar;
 
 import gui.MainApp;
 
+/*
+ * Die Klasse RootLayoutController stellt den Controller f�r die Bedienelemente des Basislayouts bereit. 
+ */
+
 public class RootLayoutController {
 	@FXML
 	private TabPane rootTabPane;
@@ -17,18 +21,29 @@ public class RootLayoutController {
 	// Reference to the main application.
     private MainApp mainApp;
 
+    /**
+     * Is called by the main application to give a reference back to itself.
+     * 
+     * @param mainApp
+     */
     public void setMainApp(MainApp mainApp) {
         this.mainApp = mainApp;
     }
     
+    /**
+     * get the tabs from the main app and load them into the local tabPane
+     * can't be done in the constructor, since mainApp has to be set first
+     */
     public void loadTabs(){
-    	rootTabPane.getTabs().addAll(mainApp.getTabs()); //can't be in the constructor
+    	rootTabPane.getTabs().addAll(mainApp.getTabs()); 
     }
     
+    // sets the StatusBar text
     public void setStatus(String status){
     	statusBar.setText(status);
     }
     
+    // passes the Emergency Stop command to the mainApp
     public void emergencyStopHandler(){
     	mainApp.emergencyStopHandler();
     }
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/view/SettingsController.java b/Praktikum/VINF_MaerklinControl/src/gui/view/SettingsController.java
index 85161fa..590111f 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/view/SettingsController.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/view/SettingsController.java
@@ -39,7 +39,11 @@ public class SettingsController {
     public void setMainApp(MainApp mainApp) {
         this.mainApp = mainApp;
     }
-	
+	/**
+	 * is called by an OnClick event caused by the Connect Button.
+	 * updates the Settings model to the currently selected IP Adress and
+	 * calls the establishConnection method of the mainApp.
+	 */    
 	@FXML
 	private void connectHandler(){
 		InetSocketAddress address = new InetSocketAddress(serverIP.getText(), settings.getSocketAddress().get().getPort());
@@ -47,7 +51,8 @@ public class SettingsController {
 		updateSettingsStatus();
 		mainApp.establishConnetion();
 	}
-
+	
+	// updates the GUI
 	public void updateSettingsStatus(){   
 		InetSocketAddress addr = settings.getSocketAddress().get();
     	StringBuilder status = new StringBuilder("Verbindung herstellen mit ");
@@ -62,6 +67,11 @@ public class SettingsController {
 		}
     }
 
+	/**
+     * updates the local reference of the selected settings model to the given one
+     * 
+     * @param Settings
+     */
 	public void setSettings(Settings settings) {
 		this.settings = settings;	
 	}
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/view/SwitchControl.java b/Praktikum/VINF_MaerklinControl/src/gui/view/SwitchControl.java
index e14c05f..4d41545 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/view/SwitchControl.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/view/SwitchControl.java
@@ -15,6 +15,11 @@ import org.controlsfx.control.ToggleSwitch;
 import gui.MainApp;
 import gui.model.Switch;
 
+/*
+ * Die Klasse SwitchControl stellt ein Sonderbedienelement dar. Sie l�dt die Bedienelemente f�r jeweils eine Weiche
+ * und fungiert gleichzeitig als deren Controller. Ihr wird im Konstruktor das zugeh�rige Weichen-Objekt �bergeben. 
+ */
+
 public class SwitchControl extends HBox{
 	@FXML
 	private Label nameLabel;
@@ -37,6 +42,8 @@ public class SwitchControl extends HBox{
     /**
      * The constructor.
      * The constructor is called before the initialize() method.
+     * Unique in that it does also load the Switch.fxml, which is usally done in an
+     * higher class, not in the controller itself.
      */
     public SwitchControl(Switch sw) {
     	this.sw = sw;
@@ -80,7 +87,7 @@ public class SwitchControl extends HBox{
         this.mainApp = mainApp;
     }
    
-    
+    // updates the GUI elements to reflect the current state of the switch
     public void updateSwitchStatus(){
     	stateToggleSwitch.setSelected(sw.getState().get());
     	
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/view/SwitchListController.java b/Praktikum/VINF_MaerklinControl/src/gui/view/SwitchListController.java
index de5eebb..31bef5d 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/view/SwitchListController.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/view/SwitchListController.java
@@ -40,7 +40,11 @@ public class SwitchListController {
         this.mainApp = mainApp;
         
     }
-    
+    /**
+     * this is where the magic happens!
+     * kidding aside, this method creates and assigns a new SwitchControl instance to every switch defined in the mainApp.
+     * it then adds these SwitchControls to the VBox provided in the SwitchList.fxml
+     */
     public void setSwitchControls(){
     	ObservableList<Switch> switches = mainApp.getSwitches();
     	ObservableList<SwitchControl> switchControls = FXCollections.observableArrayList();
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/view/TurntableController.java b/Praktikum/VINF_MaerklinControl/src/gui/view/TurntableController.java
index 0c8c6c1..324001b 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/view/TurntableController.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/view/TurntableController.java
@@ -5,6 +5,10 @@ import javafx.fxml.FXML;
 import javafx.scene.control.Button;
 import javafx.scene.control.ChoiceBox;
 
+/*
+ * Die Klasse TurntableController stellt den Controller f�r die Bedienelemente zur Steuerung der Drehscheibe bereit. 
+ */
+
 public class TurntableController {
 
 	@FXML
@@ -34,11 +38,13 @@ public class TurntableController {
 	    
 	}
 	
+	// Is called by an onClick event on the left button and calls the according function in the main app
 	public void handleTurnCCW (){
 		mainApp.turntableTurnCCW();
 		mainApp.setStatus("Letztes Kommando: Drehteller links drehen");
 	}
 	
+	// Is called by an onClick event on the right button and calls the according function in the main app
 	public void handleTurnCW (){
 		mainApp.turntableTurnCW();
 		mainApp.setStatus("Letztes Kommando: Drehteller rechts drehen");
diff --git a/Praktikum/VINF_MaerklinControl/src/server/Engine.java b/Praktikum/VINF_MaerklinControl/src/server/Engine.java
index 33c4503..090944a 100644
--- a/Praktikum/VINF_MaerklinControl/src/server/Engine.java
+++ b/Praktikum/VINF_MaerklinControl/src/server/Engine.java
@@ -4,8 +4,8 @@ package server;
 import java.util.ArrayList;
 
 /*
- * Diese Klasse stellt das Modell für einen Zug auf Serverseite dar.
- * Weiterhin lassen sich über eine lokale Instanz des Maerklin-Protokolls
+ * Diese Klasse stellt das Modell fuer einen Zug auf Serverseite dar.
+ * Weiterhin lassen sich ueber eine lokale Instanz des Maerklin-Protokolls
  * Befehle an die Maerklin-C2-Steuerung senden.
  */
 public class Engine {
diff --git a/Praktikum/VINF_MaerklinControl/src/server/MaerklinProtocol.java b/Praktikum/VINF_MaerklinControl/src/server/MaerklinProtocol.java
index e44d6ba..8c98b30 100644
--- a/Praktikum/VINF_MaerklinControl/src/server/MaerklinProtocol.java
+++ b/Praktikum/VINF_MaerklinControl/src/server/MaerklinProtocol.java
@@ -4,8 +4,8 @@ import java.net.*;
 
 /*
  * Diese Klasse implementiert das Maerklin-Protokoll zur Kommunikation
- * mit der Maerklin-C2-Steuerung. Die Datagramme werden mittels UDP
- * gesendet; für jedes Datagram wird ein neuer Sockel geöffnet.
+ * mit der Maerklin-CS2-Steuerung. Die Datagramme werden mittels UDP
+ * gesendet; fuer jedes Datagram wird ein neuer Sockel geoeffnet.
  */
 public class MaerklinProtocol {
 	
diff --git a/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java b/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java
index 63c137d..650262d 100644
--- a/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java
+++ b/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java
@@ -10,7 +10,7 @@ import java.util.ArrayList;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-import javax.xml.bind.DatatypeConverter;
+//import javax.xml.bind.DatatypeConverter;
 
 import common.Properties;
 
@@ -18,8 +18,8 @@ import common.Properties;
  * MaerklinServer stellt die Hauptklasse des Servers dar. Alle verwendeten 
  * Objekte und Services (bspw. Executer-Services) werden initialisiert und
  * der Server-Thread wird gestartet. Weiterhin implementiert diese Klasse 
- * das Maerklin-Protokoll und dient damit für alle anderen abgeleiteten oder
- * erzeugten Objekte als Referenz für die Kommunikation mit dem Server. 
+ * das Maerklin-Protokoll und dient damit fuer alle anderen abgeleiteten oder
+ * erzeugten Objekte als Referenz fuer die Kommunikation mit dem Server. 
  * Grundlegende Funktionen wie der Notaus werden direkt von dieser Klasse 
  * umgesetzt.
  */
@@ -178,8 +178,8 @@ public class MaerklinServer{
 }
 
 /*
- * Diese Klasse öffnet einen Server-Port und erstellt einen neue Client-Thread-Instanz
- * für jeden Client, der sich neu an dem Server anmeldet.
+ * Diese Klasse oeffnet einen Server-Port und erstellt einen neue Client-Thread-Instanz
+ * fuer jeden Client, der sich neu an dem Server anmeldet.
  */
 class ServerThread implements Runnable {
 	
@@ -221,7 +221,7 @@ class ServerThread implements Runnable {
 
 /*
  *  Die Klasse ClientThread verwaltet die Kommunikation mit dem Client
- *  im Hintergrund und öffnet bei eingehenden Befehlen einen neuen Handling-Thread.
+ *  im Hintergrund und oeffnet bei eingehenden Befehlen einen neuen Handling-Thread.
  */
 class ClientThread implements Runnable {
 	
@@ -407,7 +407,7 @@ class HandleThread implements Runnable {
 
 /*
  * Diese Klasse konvertiert bei Aufruf den aktuellen Status der (serverseitigen) 
- * Modelle in Byte-Format und wandelt diese unter Hinzufügen von Start- End- und 
+ * Modelle in Byte-Format und wandelt diese unter Hinzufuegen von Start- End- und 
  * Trenn-Bytes in ein Datagram um, dass an den Client gesendet wird.
  */
 class UpdateThread implements Runnable {
diff --git a/Praktikum/VINF_MaerklinControl/src/server/MaerklinServerApplication.java b/Praktikum/VINF_MaerklinControl/src/server/MaerklinServerApplication.java
index ec89c47..8d8d537 100644
--- a/Praktikum/VINF_MaerklinControl/src/server/MaerklinServerApplication.java
+++ b/Praktikum/VINF_MaerklinControl/src/server/MaerklinServerApplication.java
@@ -4,7 +4,7 @@ package server;
 /*
  * MaerklinServerApplication startet den Server sowie den Listener, der 
  * die serverseitigen Modelle aktualisiert. Weiterhin initialisiert die Klasse 
- * zyklisch ein synchrones Status-Update für alle registrierten Clients.
+ * zyklisch ein synchrones Status-Update fuer alle registrierten Clients.
  */
 public class MaerklinServerApplication {
 	
diff --git a/Praktikum/VINF_MaerklinControl/src/server/Switch.java b/Praktikum/VINF_MaerklinControl/src/server/Switch.java
index d4880af..418adf9 100644
--- a/Praktikum/VINF_MaerklinControl/src/server/Switch.java
+++ b/Praktikum/VINF_MaerklinControl/src/server/Switch.java
@@ -3,7 +3,7 @@ package server;
 import java.util.ArrayList;
 
 /*
- * Diese Klasse stellt das Modell für eine Weiche auf Serverseite dar.
+ * Diese Klasse stellt das Modell fuer eine Weiche auf Serverseite dar.
  * Weiterhin lassen sich über eine lokale Instanz des Maerklin-Protokolls
  * Befehle an die Maerklin-C2-Steuerung senden.
  */
-- 
GitLab