Klasse DataENMDaten

java.lang.Object
de.svws_nrw.data.DataManager<Long>
de.svws_nrw.data.enm.DataENMDaten

public final class DataENMDaten extends DataManager<Long>
Diese Klasse erweitert den abstrakten DataManager für den Core-DTO ENMDaten.
  • Konstruktordetails

    • DataENMDaten

      public DataENMDaten(DBEntityManager conn)
      Erstellt einen neuen DataManager für den Core-DTO ENMDaten.
      Parameter:
      conn - die Datenbank-Verbindung für den Datenbankzugriff
  • Methodendetails

    • getAll

      public jakarta.ws.rs.core.Response getAll() throws ApiOperationException
      Beschreibung aus Klasse kopiert: DataManager
      Ermittelt eine Liste mit allen Informationen in der DB. Wird üblicherweise durch GET-Methoden für Listen verwendet. Meist ist die Methode getList zu bevorzugen.
      Angegeben von:
      getAll in Klasse DataManager<Long>
      Gibt zurück:
      eine Liste mit den Informationen
      Löst aus:
      ApiOperationException - im Fehlerfall
    • getAllGZip

      public jakarta.ws.rs.core.Response getAllGZip() throws ApiOperationException
      Gibt die ENM-Daten als mit GZIP komprimiertes JSON-Objekt zurück.
      Gibt zurück:
      das GZIP-komprimierte JSON-Objekt.
      Löst aus:
      ApiOperationException - im Fehlerfall
    • getAllGZIPBytes

      public static byte[] getAllGZIPBytes(DBEntityManager conn) throws ApiOperationException
      Gibt die ENM-Daten aller Lehrer als mit GZIP komprimiertes byte[] zurück.
      Parameter:
      conn - die Datenbank-Verbindung
      Gibt zurück:
      das GZIP-komprimierte byte[].
      Löst aus:
      ApiOperationException - im Fehlerfall
    • getList

      public jakarta.ws.rs.core.Response getList()
      Beschreibung aus Klasse kopiert: DataManager
      Ermittelt eine Liste mit Informationen. Wird üblicherweise durch GET-Methoden für Listen verwendet. Bei dieser Liste werden ggf. Filter verwendet (z.B. nur als sichtbar markierte Einträge)
      Angegeben von:
      getList in Klasse DataManager<Long>
      Gibt zurück:
      eine Liste mit den Informationen
    • get

      public jakarta.ws.rs.core.Response get(Long id) throws ApiOperationException
      Beschreibung aus Klasse kopiert: DataManager
      Ermittelt die Informationen anhand der angegebenen ID. Wird üblicherweise durch GET-Methoden verwendet.
      Angegeben von:
      get in Klasse DataManager<Long>
      Parameter:
      id - die ID der gesuchten Informationen
      Gibt zurück:
      die Information mit der angebenen ID
      Löst aus:
      ApiOperationException - im Fehlerfall
    • patch

      public jakarta.ws.rs.core.Response patch(Long id, InputStream is)
      Beschreibung aus Klasse kopiert: DataManager
      Passt die Informationen mithilfe des JSON-Patches aus dem übergebenen InputStream an.
      Angegeben von:
      patch in Klasse DataManager<Long>
      Parameter:
      id - die ID der anzupassenden Informationen
      is - der InputStream mit dem JSON-Patch
      Gibt zurück:
      Die HTTP-Response der Patch-Operation
    • generateInitialCredentials

      public static void generateInitialCredentials(DBEntityManager conn)
      Erstellt für alle Lehrer initiale Credentials, sofern ein Lehrer nicht bereits welche besitzt.
      Parameter:
      conn - die Datenbankverbindung
    • resetInitialPassword

      public static void resetInitialPassword(DBEntityManager conn, long idLehrer) throws ApiOperationException
      Setzt das Kennwort des Lehrers auf das Initialkennwort zurück. Ist kein Initialkennwort vorhanden, so wird ein neues generiert.
      Parameter:
      conn - die Datenbankverbindung
      idLehrer - die ID des Lehrers
      Löst aus:
      ApiOperationException - NOT_FOUND: falls kein Lehrer mit der angegeben ID existiert
    • setPassword

      public static void setPassword(DBEntityManager conn, long idLehrer, String password) throws ApiOperationException
      Setzt das Kennwort des Lehrers auf das übergebene Kennwort. Das Initialkennwort bleibt dabei bestehen oder wird durch ein generiertes gesetzt, wenn der Lehrer vorher kein Initialkennwort hatte.
      Parameter:
      conn - die Datenbankverbindung
      idLehrer - die ID des Lehrers
      password - das neu zu setzende Kennwort
      Löst aus:
      ApiOperationException - NOT_FOUND: falls kein Lehrer mit der angegeben ID existiert
    • importDatenGZip

      public static void importDatenGZip(DBEntityManager conn, byte[] daten) throws ApiOperationException
      Integriert die Veränderungen bei den importierten ENM-Daten gegenüber dem Stand der SVWS-DB in die SVWS-DB.
      Parameter:
      conn - die Datenbank-Verbindung
      daten - die importierten ENMDaten GZIP-komprimiert als Byte-Array
      Löst aus:
      ApiOperationException - im Fehlerfall
    • importDaten

      public static void importDaten(DBEntityManager conn, ENMDaten daten) throws ApiOperationException
      Integriert die Veränderungen bei den importierten ENM-Daten gegenüber dem Stand der SVWS-DB in die SVWS-DB.
      Parameter:
      conn - die Datenbank-Verbindung
      daten - die importierten Daten
      Löst aus:
      ApiOperationException - im Fehlerfall
    • importEnmLehrer

      public static void importEnmLehrer(DBEntityManager conn, List<ENMLehrer> listEnmLehrer) throws ApiOperationException
      Importiert die Hashes aus den gegebenen ENMLehrer-Daten in die SVWS-Datenbank. Prüft dazu die Zeitstempel und aktualisiert neuere Datensätze und deren Zeitstempel.
      Parameter:
      conn - die Datenbank-Verbindung
      listEnmLehrer - die zu importierenden Lehrer-Daten
      Löst aus:
      ApiOperationException - im Fehlerfall
    • importEnmSchueler

      public static void importEnmSchueler(DBEntityManager conn, List<ENMSchueler> listEnmSchueler) throws ApiOperationException
      Importiert die gegebenen ENMSchueler-Daten in die SVWS-Datenbank. Prüft dazu die Zeitstempel der einzelnen Felder und aktualisiert neuere Datensätze und deren Zeitstempel.
      Parameter:
      conn - die Datenbank-Verbindung
      listEnmSchueler - die zu importierenden Schüler
      Löst aus:
      ApiOperationException - im Fehlerfall
    • synchronize

      public static jakarta.ws.rs.core.Response synchronize(DBEntityManager conn) throws ApiOperationException
      Synchronisiert die Daten des Externen Notenmoduls (ENM) mit dem WeNoM-Server und lädt dabei diese als ZIP beim ENM hoch und anschließend wieder von diesem herunter und speichert diese in der Datenbank.
      Parameter:
      conn - die Datenbank-Verbindung
      Gibt zurück:
      die HTTP-Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • upload

      public static jakarta.ws.rs.core.Response upload(DBEntityManager conn) throws ApiOperationException
      Lädt die ENM-Daten aus der Datenbank zu dem WeNoM-Server hoch.
      Parameter:
      conn - die Datenbank-Verbindung
      Gibt zurück:
      die HTTP-Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • download

      public static jakarta.ws.rs.core.Response download(DBEntityManager conn) throws ApiOperationException
      Importiert die ENM-Daten von dem WeNoM-Server und schreibt diese in die Datenbank.
      Parameter:
      conn - die Datenbank-Verbindung
      Gibt zurück:
      die HTTP-Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • truncate

      public static jakarta.ws.rs.core.Response truncate(DBEntityManager conn) throws ApiOperationException
      Entfernt die ENM-Daten von dem WeNoM-Server.
      Parameter:
      conn - die Datenbank-Verbindung
      Gibt zurück:
      die HTTP-Response
      Löst aus:
      ApiOperationException - im Fehlerfall