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
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 |