de.svws_nrw.data.erzieher.DataErzieherarten Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of svws-db-utils Show documentation
Show all versions of svws-db-utils Show documentation
Diese Bibliothek unterstützt bei dem Zugriff auf Datenbanken für die Schulverwaltungssoftware in NRW
package de.svws_nrw.data.erzieher;
import java.io.InputStream;
import java.util.List;
import java.util.function.Function;
import de.svws_nrw.core.data.erzieher.Erzieherart;
import de.svws_nrw.data.DataManager;
import de.svws_nrw.db.DBEntityManager;
import de.svws_nrw.db.dto.current.schild.erzieher.DTOErzieherart;
import de.svws_nrw.db.utils.ApiOperationException;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.core.Response.Status;
/**
* Diese Klasse erweitert den abstrakten {@link DataManager} für den
* Core-DTO {@link Erzieherart}.
*/
public final class DataErzieherarten extends DataManager {
/**
* Erstellt einen neuen {@link DataManager} für den Core-DTO {@link Erzieherart}.
*
* @param conn die Datenbank-Verbindung für den Datenbankzugriff
*/
public DataErzieherarten(final DBEntityManager conn) {
super(conn);
}
/**
* Lambda-Ausdruck zum Umwandeln eines Datenbank-DTOs {@link DTOErzieherart} in einen Core-DTO {@link Erzieherart}.
*/
private final Function dtoMapper = (final DTOErzieherart e) -> {
final Erzieherart eintrag = new Erzieherart();
eintrag.id = e.ID;
eintrag.bezeichnung = e.Bezeichnung;
return eintrag;
};
@Override
public Response getAll() throws ApiOperationException {
final List erzieherarten = conn.queryAll(DTOErzieherart.class);
if (erzieherarten == null)
throw new ApiOperationException(Status.NOT_FOUND);
final List daten = erzieherarten.stream().map(dtoMapper).toList();
return Response.status(Status.OK).type(MediaType.APPLICATION_JSON).entity(daten).build();
}
@Override
public Response getList() throws ApiOperationException {
final List erzieherarten = conn.queryAll(DTOErzieherart.class);
if (erzieherarten == null)
throw new ApiOperationException(Status.NOT_FOUND);
final List daten = erzieherarten.stream().filter(e -> (e.Sichtbar == null) || e.Sichtbar).map(dtoMapper).toList();
return Response.status(Status.OK).type(MediaType.APPLICATION_JSON).entity(daten).build();
}
@Override
public Response get(final Long id) {
throw new UnsupportedOperationException();
}
@Override
public Response patch(final Long id, final InputStream is) {
throw new UnsupportedOperationException();
}
}