Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 717

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 718

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739
HWR-Chat: Config-Manager – It2010-g1

HWR-Chat: Config-Manager


Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0102873/mediawiki/includes/MagicWord.php on line 739
Aus It2010-g1
Wechseln zu: Navigation, Suche
(Seite angelegt und beschrieben)
 
(Standard-Datei)
 
Zeile 1: Zeile 1:
 +
[[File:HWR-Chat-Logo.png|50px|right]]
 
== Config-Manager ==
 
== Config-Manager ==
  
 
Für die technische Umsetzung des HWR-Chats wird eine Klasse benötigt, die
 
Für die technische Umsetzung des HWR-Chats wird eine Klasse benötigt, die
 
 
Konfigurationsdateien lesen und schreiben kann. Diese Funktion wird z.B.
 
Konfigurationsdateien lesen und schreiben kann. Diese Funktion wird z.B.
 
+
benötigt, um die Verbindungsdaten der Datenbank einstellen zu können, ohne dass
benötigt um die Verbindungsdaten der Datenbank einstellen zu können, ohne dass
+
 
+
 
eine Java Klasse neu kompiliert werden muss.
 
eine Java Klasse neu kompiliert werden muss.
 
 
Es muss zweierlei Arten von Konfigurationsdateien geben.
 
Es muss zweierlei Arten von Konfigurationsdateien geben.
 
 
Zum einen für den Server und zum anderen für den Client.
 
Zum einen für den Server und zum anderen für den Client.
  
Zeile 16: Zeile 12:
  
 
Damit bestimmte Konfigurationen sauber eingelesen werden können müssen Regeln formuliert werden.
 
Damit bestimmte Konfigurationen sauber eingelesen werden können müssen Regeln formuliert werden.
 
 
Pro Zeile gibt es maximal eine Konfiguration.
 
Pro Zeile gibt es maximal eine Konfiguration.
 +
Eine Konfiguration setzt sich aus dem Schlüssel (ein Name) und einem Wert zusammen. Beides wird durch ein
 +
Gleichheitszeichen ("=") voneinander getrennt. Der Schlüssel und der Wert müssen auf jeden Fall zusammen (ein Wort)
 +
geschrieben werden. Jede Abweichung von dieser Konfiguration hat zur Folge, dass diese nicht eingelesen wird.
 +
Es versteht sich von selbst, dass eine Konfiguration nur dann Sinn macht, wenn diese dem System (den Java-Klassen)
 +
bekannt ist. Die Schlüssel (Namen) dürfen nicht variieren.
  
Eine Konfiguration setzt sich aus dem Schlüssel(ein Name) und einem Wert zusammen. Beides wird durch ein
+
Bsp.:
 +
''DataBaseUserPassword = admin''<br>
  
Gleichheitszeichen ("=") von einander getrennt. Der Schlüssel und der Wert müssen auf jeden Fall zusammen(ein Wort)
+
Zu beachten ist, dass ein Konfigurationsschlüssel somit nur einen Wert besitzen kann. Sollen nun mehrere Werte gespeichert werden
  
geschrieben werden. Jede Abweichung von dieser Konfiguration hat zur Folge, dass diese nicht eingelesen wird.
+
(z.B. Liste von geblockten Nutzern (nur ein Bsp.)) müssen diese als einzelner String (z.b. User1;User2;User3) eingetragen werden.
  
Es versteht sich von selbst, dass eine Konfiguration nur dann Sinn macht, wenn diese dem System (den Java-Klassen)
+
Die Aufsplittung muss dann wieder die entgegenehmende Java-Klasse bewerkstelligen.
 +
Eine Raute am Zeilenanfang ("#") wird als Kommentar gesehen und ignoriert.
  
bekannt ist. Die Schlüssel (Namen) dürfen nicht variieren.
+
=== Laufzeitverhalten ===
 +
Beim Instanziieren des Objekts muss angegeben werden, um welche Art des Konfigurations-File es sich handelt.
  
Bsp.:
+
Die Konfigurationsdateien sollen standardmäßig im gleichen Verzeichnis liegen in dem die Java Klasse gestartet wurde.
 +
 
 +
Das Server-Config-File heißt "server.conf", das Client-Config-File heißt "client.conf".
 +
Wird keine Datei gefunden, wird eine Standard-Datei generiert und verarbeitet.
 +
 
 +
=== Schnittstelle ===
 +
Für die Implementierung ist es wichtig, geeignete Schnittstellen zu diesem Config-Manager herzustellen.
 +
 
 +
Alle gefundenen Konfigurationen werden in Form einer HashMap geliefert. Der erste String-Wert entspricht dem
 +
 
 +
Schlüssel, der zweite dem String-Wert.
 +
Wurde das Objekt instanziiert, steht eine Methode bereit um eine Konfiguration in das bestehende Config-File zu schreiben.
 +
 
 +
=== Standard-Datei ===
 +
Die standardmäßig vorhandene Datei (bzw. die, die erstellt wird) sieht folgendermaßen aus:
 +
<pre>
 +
##################################################################################
 +
#Diese Datei beinhaltet verschiedene Konfigurationsmöglichkeiten für den HWR-Chat#
 +
#Eine Einstellung muss dem Schema: NameDerEinstellung = Wert entsprechen        #
 +
#Jede Abweichung wird ignoriert, nur bekannte Einstellungen werden berücksichtigt#
 +
#Eine Raute (#) am Zeilenanfang wird ignoriert                                  #
 +
##################################################################################
 +
</pre>
 +
 
 +
Je nach Dateityp werden folgende Zeilen generiert:
 +
(Die Werte entstammen den TestKonfigurationen)
 +
<pre>
 +
################################Server-Config#####################################
 +
DataBasePath = localhost:3306/hwr_chat
 +
DataBaseUserName = chat_admin
 
DataBaseUserPassword = admin
 
DataBaseUserPassword = admin
 +
ServerPort = 11111
 +
UseDefaultUserPassword = false
 +
DefaultUserPassword = Password
 +
EmailSenderAddress = servus@lisa-debian-server.dyndns.org
 +
EmailSmtpHost = lisa-debian-server.dyndns.org
 +
EmailNeedAuthentication = false
 +
</pre>
 +
bzw.
 +
 +
<pre>
 +
################################Client-Config#####################################
 +
ServerLocation = lisa-debian-server.dyndns.org
 +
ServerPort = 5000
 +
FilePort = 1338
 +
ShowBullet = 1
 +
EnableLogging = 1
 +
</pre>

Aktuelle Version vom 10. November 2011, 09:48 Uhr

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Projekte
Werkzeuge