Request-Manager

Um die Kommunikation mit dem Backend so unkompliziert wie möglich zu gestalten, wurde nach dem Command Pattern diese Klasse implementiert. Hierbei kommuniziert er mit dem PHP- und Flask-Backend, da jedes andere Aufgaben hat um dem Clienten die gewünschten Informationen bereitzustellen.

Funktionen

UML

Nachfolgend werden die static Functions vorgestellt, welche mit dem query.php Endpoint kommunizieren und damit im Backend auf PHP basieren. Die KOmmunikation mit dem PHP-Backend erfolgt dabei via HTTP-POST. Alle Funktionen sind dabei static.

Funktion Paramter Return Value Beschreibung
getGeoJSON - ID des Indikators - Jahr - Raumgliederung - gewünschte AGS als Array - Anzahl der KLassen - Klassifizierung JSON-Object Diese Methode holt die GeoJSON vom Backend, welche anhand der übergebenen Parameter auf dem Server generiert wird (PHP Klasse-JSON
getAvabilityIndicator - ID des Indikators Object Die Funktion prüft ob der gewählte Indikator in der gewählten räumlichen Gliederung (Raster/Gebiete) verfügbar ist.
getAllAvaliableIndicators   Object Diese Funktionen holt alle verfügbaren Indikatoren vom Backend für die gewählte Raumgliederung und deren Metainformationen. Hiermit stehen nach der Abfrage alle Informationen für alle verfügbaren Indikatoren bereit.
getJahre ID des Indikators Array Methode welche alle verfügbaren Jahre für einen Indikator vom Backend holt
getRaumgliederung ID des Indikators Object Diese Funktion holt vom Backend alle verfügbaren Raumgliederungen für den angegebenen Indikator
getCountGeometries ID der Raumgliederung Object {Number} Mit dieser Methode wird ermittelt, wie viele Geometrien auf dem Clienten gerendert werden sollen, z.B. um dies in der Progressbar anzuzeigen
getZusatzlayer Id des Layers`s GeoJSON Diese Funktion holt alle Zusatzlayer (z.B. Gemeindegrenzen, Gewässer ) vom Backend.
getTableExpandValues Array mit den Expand ID’s, Array mit den gesetzten AGS Object Diese Funktion holt alle notwendigen Informationen vom Server, um die Tabelle zu erweitern ja nachdem welche ID’s im Array gespeichert sind
getTrendValues ID des Indikators, AGS, Setting-Object z.B. {"forecast":"false", "all_points" :"true", "compare" : "false"} Request Object Diese Funktion holt die für die Erstellung der Entwicklungsgraphen notwendigen Daten vom Backend
handleLink Object {"id":"set","val": urlparamter.getAllUrlParameter()}; State Object Funktion welche für einen erstellten Maplink alle notwendigen Paramter vom Backend holt, um die Karte zu erstellen.
getSpatialOverview ID des Indikators, AGS Object Diese Funktion ruft für einen übergebenen Indikator und AGS. alle verfügbaren Indikatorwerte vom BAckend ab. Diese Funktion wird vor allem für das Gebietsprofil genutzt
sendMailFeedback Name, Sender, Nachricht   Diese Funktion sendet über das Flask-Microframework eine Mail und wird für die Feedbackfunktion genutzt
sendMailError Name, Nachricht   Diese Funktion sendet über das Flask-Microframework eine Mail an die Kerngruppe und wird bei Fehlermeldungen verwendet

Die vorher aufgezählten Funktionen haben die Aufgabe Anfragen zu formulieren, die jetzt vorgestellten Funktionen senden die Anfrage an den Server. Durch diese Aufteilung wird die Komplexität verringert. Hierbei ist die Logik immer gleich:

→ es wird ein JSON-Object mit der Anfrage gebildet und den nachfolgenden Funktionen übergeben. Diese stellen die Anfrage via Ajax an das Backend.

Funktion Paramter Return Value Beschreibung
sendRequestPHP Object Server success Diese Funktion sendet alle Anfragen an das PHP-Backend und stellt das Ergebnis bereit.
sendRequestFlask Objekt Server success Diese Funktion sendet alle Anfragen an das Flask Micro-Framework
cancel     Diese Funktion beendet die laufende asynchrone-Funktion