Sie sind auf Seite 1von 3

Dokumentation:

Installation:

Dateien in Eclipse importieren. SQL Files in MySQL hochladen.

Grobe Erklärung der Anwendung:

Die Anwendung erzeugt einen Web-basierten Antragstellung-System für die Forschungsprojekte des Bayerisch -Französischen HochschulZentrums. Man kann von der Startseite aus auswählen ob man ein neues Projekt anlegen oder ob man falls man eine vorhandene ID besitzt einen bereits angelegten Antrag bearbeiten will. Falls man eine neues Projekt anlegen will muss man in einem Formular bestimmte Daten eingeben, man kann die Beschreibung des Projekts entweder im Formular eintippen oder als PDF hochladen. Wenn man einen bereits vorhanden Antrag bearbeiten will, funktioniert das identisch wie beim Antrag anlegen, außer dass die bereits vorhanden Einträge im Formular mit drin stehen. Es gibt außerdem einen Link bei allen Seiten des Antragsstellungsystems um mittels Login in das Managementsystem zu wechseln. Wenn man einen richtigen Benutzernamen sowie Passwort eingibt, welches gehascht wird, gelangt man in das Managementsystem. Dort kann man in einer Tabelle alle Anträge in der Datenbank sehen und mittels Checkbox entscheiden ob ein Projekt förderwürdig ist oder nicht. Die Checkbox aktualisiert beim Anklicken automatisch in der Datenbank ob der Antrag gefördert wird oder nicht.

Pflichtfelder der Anträge:

- Kooperationsart

- Projekttitel

- Geschlecht des bay. und des franz. Antragsstellers

- Name sowie Vorname des bay. und des franz. Antragstellers

- Lehrstuhl sowie Hochschule des bay. und des franz. Antragstellers

- Die Anschrift des bay. und des franz. Antragstellers

- Die Telefonnummer des bay. und des franz. Antragstellers

- Die Emailaddresse des bay. und des franz Antragstellers

Kurze Beschreibung der einzelnen Anwendungen:

Pakete/Klassen:

Paket antragstellungssystem.beans:

- Antrag

: Erstellt/Verändert Antragsobjekte und speichert diese in die Datenbank

- DateiValidator

groß ist

: Überprüft ob die hochgeladene Datei ein PDF ist und auch nicht so

- EmailValidator

: Überprüft ob eine korrekte Emailaddresse eingegeben wird

- Login

: Überprüft die eingegebenen Logindaten, hascht das Passwort und leitet bei

korrektem Login auch weiter

- Navigation

: Leitet je nach Angaben des Benutzers, ihn entweder auf die Seite wo er

einen neuen Antrag erstellen kann oder einen bereits vorhanden Antrag bearbeiten kann

Paket antragstellungssystem.db:

- AntragsDB

: Greift auf die SQL Datenbank mit den Anträgen zu

- LoginDB

: Greift auf die SQL Datenbank mit den Login-Einträgen zu

Paket test:

- TestAntragDB

: Testet die Antragsdatenbank mit JUnit

- TestLoginDB

: Testet die Logindatenbank mit JUnit

SQL Files:

- createAllInOneStep

: Erstellt jeweils ein Schema und eine Tabelle für die Anträge und

die Logindaten in der Datenbank

- createDefaultLogin.sql

: Stellt einen voreingestellten Loginbenutzername mit Wert

„benutzername“ und einen voreingestellten Loginpasswort mit Wert „passwort“ ein

Xhtml Files:

- start.xhtml

: Erzeugt die Startseite und leitet einen mit der Methode Navigation

entweder auf input.xhtml oder auf mit richtiger ID auf edit.xhtml

- input.xhtml

: Erzeugt ein neues Antragsformular in dem man Daten eingeben sowie

eine PDF-Datei uploaden kann und in die Antragsdatenbank hochladen

- inputSuccess.xhtml

: Wird beim erfolgreichen Ausfüllen eines neuen Antrags in

input.xhtml aufgerufen und gibt dem Benutzer die ID des Antrags wieder

- edit.xhtml

: Lässt dem Benutzer ein bereits bestehenden Antrag nachträglich noch

bearbeiten

- editSuccess.xhtml:

bearbeitet hat

Wird aufgerufen wenn man in edit.xhtml einen Antrag erfolgreich

- header.xhtml

: Erzeugt den Header für das Antragsstellungssystem und hat einen link

auf die login.xhtml

- login.xhtml:

Hier kann man sich einloggen um ins Managementsystem,

loginSuccess.xhtml, zu kommen

- loginSuccess.xhtml

: Wird bei erfolreichen Login aufgerufen und erzeugt eine

Datentabelle in der alle Einträge in der Antragsdatenbank aufgezeigt werden und erlaubt es dem Nutzer auszuwählen ob der Antrag gefördert wird oder nicht. Die Förderung wird beim Anklicken der Checkbox automatisch ausgeführt

- footer.xhtml

: Erzeugt den Footer für das Antragsstellungsystem

- layout xhtml:

.

Erzeugt das Layout für das Antragstellung- und Managementsystem

- managementHeader:

Erzeugt den Header für das Managementsystem

- managementLayout:

Erzeugt das Layout für das Managementsystem

Implementierte

Zusatz -Methoden:

- Dateiuploads beim Erstellen eines neuen Antrags:

In input.xhtml wird mittels eines <t:inputFileUpload> eine PDF-datei mit maximal 2MB Größe hochgeladen welche dann als blob attribut des Antrags in der Datenbank gespeichert . Im Managementsystem wird dann beim Anklicken des Beschreibungsbuttons wir der blob dann ausgelesen mit der readBlob Methode in der Antragsbean und im „user.home“ als PDF mit dem Titel „Beschreibung“ gespeichert

- Loginfunktion für das Managementsystem:

Wenn man auf der login.xhtml benutzername und passwort eingibt, wird mit der login Methode in antragsstellungssystem.db.LoginDb überprüft,ob beide in einer Reihe in der Datenbankauftauchen. Das Passwort wird mittels der Methode DigestUtils.sha1hex gehascht. Bei korrekter Eingabe kommt man dann auf die loginSuccess.xhtml.

- Verhinderung das direkt auf das Managementsystem zugegriffen werden kann:

In der loginSuccess.xhtml gibt es eine inputhiddenId, welche überprüft ob man sich vorher über login.xhtml eingeloggt hat oder ob man einfach über URL auf die Seite kam. Wenn man nicht eingeloggt ist wirft die login bean eine IllegalAccessException, welche erklärt dass der direkte Zugriff auf die Seite verboten ist