Klasse DataGostBlockungRegel

java.lang.Object
de.svws_nrw.data.DataManager<Long>
de.svws_nrw.data.gost.DataGostBlockungRegel

public final class DataGostBlockungRegel extends DataManager<Long>
Diese Klasse erweitert den abstrakten DataManager für den Core-DTO GostBlockungRegel.
  • Felddetails

  • Konstruktordetails

    • DataGostBlockungRegel

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

    • getAll

      public jakarta.ws.rs.core.Response getAll()
      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
    • 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) throws ApiOperationException
      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
      Löst aus:
      ApiOperationException - im Fehlerfall
    • addRegel

      public jakarta.ws.rs.core.Response addRegel(long idBlockung, int idRegelTyp, List<Long> regelParameter) throws ApiOperationException
      Fügt eine Regel mit Default-Werten zu einer Blockung der Gymnasialen Oberstufe hinzu.
      Parameter:
      idBlockung - die ID der Blockung
      idRegelTyp - die ID des Typs der Blockungsregel (siehe GostKursblockungRegelTyp)
      regelParameter - die Parameter der Regel oder null, falls Default-Parameter verwendet werden sollen
      Gibt zurück:
      Eine Response mit der neuen Regel
      Löst aus:
      ApiOperationException - im Fehlerfall
    • addRegeln

      public jakarta.ws.rs.core.Response addRegeln(long idBlockung, List<GostBlockungRegel> regeln) throws ApiOperationException
      Fügt mehrere Regeln zu einer Blockung der Gymnasialen Oberstufe hinzu. Diese müssen zunächst eine Pseudo-ID von -1 beinhalten.
      Parameter:
      idBlockung - die ID der Blockung
      regeln - die hinzuzufügenden Regeln
      Gibt zurück:
      Die HTTP-Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • delete

      public jakarta.ws.rs.core.Response delete(Long id) throws ApiOperationException
      Löscht eine Regel einer Blockung der Gymnasialen Oberstufe
      Parameter:
      id - die ID der Regel
      Gibt zurück:
      die HTTP-Response, welchen den Erfolg der Lösch-Operation angibt.
      Löst aus:
      ApiOperationException - im Fehlerfall
    • deleteMultiple

      public jakarta.ws.rs.core.Response deleteMultiple(List<Long> regelIDs) throws ApiOperationException
      Löscht mehrere Regeln einer Blockung der Gymnasialen Oberstufe
      Parameter:
      regelIDs - die IDs der Regeln
      Gibt zurück:
      die HTTP-Response, welchen den Erfolg der Lösch-Operation angibt.
      Löst aus:
      ApiOperationException - im Fehlerfall
    • updateBlockungsregeln

      @NotNull public static @NotNull List<@NotNull GostBlockungRegel> updateBlockungsregeln(@NotNull @NotNull DBEntityManager conn, @NotNull @NotNull DTOGostBlockung blockung, @NotNull @NotNull GostBlockungRegelUpdate update) throws ApiOperationException
      Entfernt alle zum Entfernen angegebenen Blockungsregeln und fügt anschließend alle zum Hinzufügen angegebenen Blockungsregeln hinzu.
      Parameter:
      conn - die Datenbankverbindung
      blockung - die Blockung, bei der die Regelanpassungen vorgenommen werden sollen
      update - die zu entfernenden Regeln und die hinzuzufügenden Regeln
      Gibt zurück:
      die hinzugefügten Regeln mit den neuen IDs
      Löst aus:
      ApiOperationException - im Fehlerfall
    • updateRegeln

      public jakarta.ws.rs.core.Response updateRegeln(Long idBlockung, @NotNull @NotNull GostBlockungRegelUpdate update) throws ApiOperationException
      Entfernt alle zum Entfernen angegebenen Blockungsregeln und fügt anschließend alle zum Hinzufügen angegebenen Blockungsregeln hinzu.
      Parameter:
      idBlockung - die ID der Blockung, bei der die Regelanpassungen vorgenommen werden sollen
      update - die zu entfernenden Regeln und die hinzuzufügenden Regeln
      Gibt zurück:
      die HTTP-Response, welchen den Erfolg der Update-Operation angibt.
      Löst aus:
      ApiOperationException - im Fehlerfall
    • getBlockungsregeln

      public static List<GostBlockungRegel> getBlockungsregeln(List<DTOGostBlockungRegel> regeln, List<DTOGostBlockungRegelParameter> parameter)
      Erstellt eine Liste von Core-Type-Blockungsregeln zu den angegebenen Datenbank-DTOs
      Parameter:
      regeln - eine Liste der Regeln (Datenbank-DTOs)
      parameter - eine Liste mit allen Parametern der Regeln
      Gibt zurück:
      die Liste der Blockungsregeln
    • getBlockungsregeln

      public List<GostBlockungRegel> getBlockungsregeln(long idBlockung)
      Erstellt eine Liste von Blockungsregeln zu der angegebenen Blockungs-ID
      Parameter:
      idBlockung - die ID der Blockung
      Gibt zurück:
      die Liste der Blockungsregeln
    • updateKursRegelnOnDelete

      public static void updateKursRegelnOnDelete(DBEntityManager conn, @NotNull @NotNull DTOGostBlockungKurs kursDelete, DTOGostBlockungKurs kursTo) throws ApiOperationException
      Entfernt alle Kurs-Regeln, die sich auf den Parameter kursDelete beziehen. Ist der Parameter kursTo nicht null, so werden einige dieser Regeln auf diesen Kurs übertragen. Dies kommt zum Beispiel beim Zusammenlegen von Kursen vor, wo Dummy-Schüler übertragen werden. Dabei wird nicht geprüft, ob es sich um eine Blockung mit nur einem Ergebnis handelt. Dies muss von der aufrufenden Methode sichergestellt werden!
      Parameter:
      conn - die Datenbankverbindung
      kursDelete - der Kurs der entfernt wurde und dessen Regeln angepasst werden müssen.
      kursTo - der Kurs, aud den Regeln übertragen wurden
      Löst aus:
      ApiOperationException - im Fehlerfall