Richtlinien zur Weiterentwicklung des Produkts

Verschlüsselung
Sommerzeitumstellung, erster Tag der Woche, etc.
Endungen der Datenfiles
Implementierung neuer Funktionen am Server
Minuten/Zelle in den Termintabellen ändern
Automatische Anfrage nach neuen Terminen

index



Verschlüsselung

Da es nicht vorrangiges Ziel dieses Projektes war, perfekte Verschlüsselungsalgorithmen zu entwickeln, ist die Verschlüsselung eher mäßig ausgefallen. Für eigene Verbesserungen ist vor allem die Klassenhierarchie interessant:

Cypher (Cypher.java) -+- DataCypher   (DataCypher.java)
                      +- PasswdCypher (PasswdCypher.java)

Cypher ist eine abstrakte Basisklasse, DataCypher ist für die Verschlüsselung der am Server abgelegten Daten verantwortlich. PasswdCypher ist für die Verschlüsselung von Paßwörtern zuständig, die Methode decypher liefert nur null, da ein Entschlüsseln von Paßwörtern nicht möglich sein soll.


Sommerzeitumstellung, erster Tag der Woche, etc.

Jedesmal, wenn im gesamten Programm irgendwo eine Calendar- Klasse benötigt wird, wird in der Klasse CalendarCreator die statische Methode get aufgerufen. Die CalendarCreator- Klasse ist somit der zentrale Punkt, an dem Kalendereigenschaften wie das Datum der Umstellung auf Sommerzeit bei Bedarf modifiziert werden sollten.


Endungen der Datenfiles

Die Endungen der Datenfiles können bei Bedarf in der Klasse FileDatabase umgestellt werden (Konstanten: STANDARD_EXT, MESSAGE_EXT und PERIODIC_EXT).


Implementierung neuer Funktionen am Server

Um am Server eine neue Funktion zu implementieren, empfehle ich folgende Vorgangsweise:

  1. Einfügen der neuen Methode in das Interface CalendarDatabase
  2. Implementieren der neuen Methode in der Klasse FileDatabase
  3. In der Klasse RequestHeader einen neuen Request- Typ vereinbaren
  4. Wenn benötigt: Die Klasse ReplyHeader um neue Instanzvariablen und Konstruktoren erweitern
  5. In der Klasse ConnectionThread einen neuen Fall in die Fallunterscheidung aufnehmen, darin die neue Methode aus FileDatabase aufrufen.
  6. Implementieren der neuen Methode in der Klasse WebDatabase in der Art der bestehenden Methoden
  7. Nach eigenem Ermessen in das GUI einfügen (Klassen: JavaNotesGUI, ToolPanel)

Minuten/Zelle in den Termintabellen ändern

Dazu können Sie in den Klassen DaylyPanel und WeeklyPanel die Konstante MINUTES_PER_CELL nach eigenem Ermessen ändern.


Automatische Anfrage nach neuen Terminen

Die Zeit zwischen zwei Versuchen, neue Termine vom JavaNotes Server zu laden, kann in der Konstanten GETMESSAGES_TIME in der Klasse JavaNotesGUI angepaßt werden (Zeit in Millisekunden).



last modified: 19.3.98
Edgar Pühringer