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