Skip to content

Backend Auswertung

Liamvk edited this page Sep 5, 2016 · 2 revisions

View Controller

Im View Controller wird die Logik bestimmt. Dabei handelt es sich um die Aufbereitung und Erstellung von angepassten Listen.

Zum Beispiel soll jede Veranstaltung eines Professors in “Archiv2.html” nur einmal angezeigt werden. Deshalb wird eine neue Liste mit relevanten Evaluationen erstellt und diese in “Archive2.html” zur Anzeige verwendet:

...
//neue Liste damit eine Veranstaltung nur einmal angezeigt wird
List<Evaluation> subjectList = new ArrayList<Evaluation>();
singleSubjectList(subjectList, evaluations, evaluations.size());
...
model.addAttribute("evaluations", subjectList);

Anmerkung: Der Programmcode ist in der Datei “ViewController.java” ausreichend kommentiert.

stdTemplateArchive, stdTemplateArchive2 und stdTemplateArchive3

Anmerkung: Das Template “stdTemplateArchive” wurde dupliziert, weil es uns nicht möglich war, “Google Charts” durch ein Template in alle Seiten einzubinden.

In diesen Dateien ist der Code für die Header der einzelnen HTML-Seiten. Unter anderem werden hier die “Google Charts” definiert.

Im ViewController wurden durch “model.addAttribute("oGradeSemOne", overallGradeSemOne);” eine Variable erstellt, auf die im Javascript bzw. für GoogleCharts wie folgt zugegriffen wird:

/*<![CDATA[*/
var oGradeSemOneValue = /*[[${oGradeSemOne}]]*/ '0.0';
...
/*]]>*/

Eine Besonderheit im Programmcode ist die Darstellung des Balkendiagramms. Es wurden If-Abfragen erstellt, um die richtige Anzahl von Balken darzustellen. Gibt es beispielsweise nur drei Werte, werden auch nur drei Balken dargestellt. Des Weiteren wird dadurch auch gewährleistet, dass kein Balkendiagramm dargestellt wird, wenn nur ein Wert existiert.

HTML-Seiten

In dem HTML-Code wird mit “Thymeleaf” und “Spring” auf Attribute zugegriffen, die im ViewController aufbereitet wurden sowie neue Seiten mittels Übergabewerten aufgerufen.

Aufruf von “Archiv2” mit der jeweiligen “TutorID” und Ausgabe des Familiennamens des jeweiligen Professors:

...
<td>
<a th:href="@{/archive2(tutorID=${evaluation.getTutors().get(0).getId()})}" class="active" th:text="${evaluation.getTutors().get(0).getFamilyName()}">
Vorlesungsname
</a>
</td>
...

Gebrauchsanweisung

Es ist eine Internetverbindung erforderlich(wegen "Google Charts"...). Des Weiteren muss die Datei "test-server.ldif" zum Testen in den Dateiordner "resources" des Programms kopiert werden. Nach dem XAMPP(Apache und MySQL gestartet) sowie das Programm in einer Entwicklungsumgebung gestartet wurde, sollte man zum Testen bzw. zur Einbindung der vorgefertigten Datenbank wie folgt vorgehen:

  1. In einem Webbrowser "localhost/phpmyadmin" eingeben.

  2. "caeb" auswählen(links)

  3. Auf "Operationen" klicken(oben)

  4. "Datenbank löschen (DROP)" auswählen

  5. Auf "neu" klicken

  6. "caeb" als Datenbank-Name angeben und "anlegen" auswählen

  7. "Importieren" auswählen(oben)

  8. Datenbank importieren

Danach kann die Anwendung gestartet und gestestet werden.