Programmdesign des Direktionsrechners

primaries.jsp ist eine Java Server Page. Die Berechnung der Direktionen erfolgt also auf dem Server, wobei hauptsächlich die Klasse Direct.java zum Einsatz kommt, die die Logik der verschiedenen Direktionsberechnungen enthält. Weitere Einsätze leisten die Klassen Direction.java zum Parsen und Darstellen einzelner Direktionen sowie Horoscope.java für die Horoskopberechnung selbst – wobei die Planetenberechnung hier, wie in den meisten anderen Stellen unserer Programmsammlung auch, an Thomas Macks Java Port der Swiss Ephemeris delegiert wird.

Die Anwendung ist in drei verschiedene Sichten ("Panels") geteilt, horo, list und detail, zwischen denen man durch eine im Kopfbereich der Seite angebrachte Reiterleiste wechseln kann. Das Formularfeld panel definiert den aktuellen Zustand der Seite. Ein zweites Formularfeld action enthält die vom Anwender gewünschte Funktion (z.B. den Wert doList nach Druck von "Berechne" zur Neuberechnung der Direktionsliste).

Alle eingegebenen Daten, auch errechnete Daten wie die Direktionsliste, werden als Attribute einer Bean Primaries.java geführt. Änderungen von Formularwerten werden durch die <jsp:setProperty>-Aktion in die Bean transportiert. Danach erfolgen Aufrufe zur Validierung der Eingabedaten und zur Ausführung der action. Die Java Server Page selbst enthält keine Anwendungslogik, sondern - neben den genannten Aufrufen der Anwendungslogik - nur noch Präsentierungslogik. Die Anwendungslogik ist auf oberster Ebene in die Beanklasse Primaries.java ausgelagert, von wo aus die meiste Logik - abgesehen von einfachen Eingabeüberprüfungen - an die Klassen des AstroOL-Pakets adressiert wird (wohin sie auch gehört). Primaries.java ist eine Session Bean. Das heisst für den Benutzer, dass der Kontext der Anwendung, z.B. die ausgegebene Liste oder die eingegebenen Optionen zur Direktionsberechnung, so lange erhalten bleiben, so lange noch mindestens ein Browserfenster der Browserinstanz geöffnet ist.

Die Anzeige des Horoskops mit dem "Cockpit" im linken Bildbereich zur Eingabe der Horoskopdaten ist die vollständig inkludierte Seite horo.jsp. Die Seite horo.jsp stellt anhand der aktuellen URL fest, ob sie standalone aufgerufen wird oder in eine andere Seite inkludiert ist, wie hier. Dann ändern sich einige Details, zum Beispiel die Links auf die Hilfeseite und auf die technische Dokumentationsseite wie die hier vorliegende.


Zum Direktionsrechner Dokumentation der Java-Programme Zurück zur Homepage