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