src/de/uhilger/tango/Server.java | ●●●●● patch | view | raw | blame | history | |
src/de/uhilger/tango/api/AbstractHandler.java | ●●●●● patch | view | raw | blame | history | |
src/de/uhilger/tango/api/ListHandler.java | ●●●●● patch | view | raw | blame | history | |
src/de/uhilger/tango/api/MediaSteuerung.java | ●●●●● patch | view | raw | blame | history |
src/de/uhilger/tango/Server.java
@@ -62,6 +62,7 @@ //public static final String RB_ABLAGE_TEST = "testAblage"; //public static final String RB_STORE_TEST = "testStore"; public static final String SLASH = "/"; public static final String NEWLINE = "\n"; private int port; src/de/uhilger/tango/api/AbstractHandler.java
@@ -21,6 +21,9 @@ import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import de.uhilger.tango.App; import de.uhilger.tango.entity.Einstellung; import de.uhilger.tango.entity.Entity; import de.uhilger.tango.store.Storage; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -155,4 +158,20 @@ return rb.getString(key); } protected String getEinstellung(Storage s, String key, String standardWert) { Entity entity = s.read(Einstellung.class.getSimpleName(), key); if (entity instanceof Einstellung) { Einstellung einstellung = (Einstellung) entity; Object o = einstellung.getValue(); if(o instanceof String) { return o.toString(); } else { return standardWert; } } else { return standardWert; } } } src/de/uhilger/tango/api/ListHandler.java
@@ -25,7 +25,6 @@ import de.uhilger.tango.entity.Entity; import de.uhilger.tango.entity.Titel; import de.uhilger.tango.store.FileStorage; import java.io.File; import java.io.IOException; import java.util.List; import java.util.logging.Logger; @@ -33,16 +32,16 @@ /** * Der ListHandler bearbeitet HTTP-Anfragen zu Abspiellisten * * GET /mz/api/alist/[pl-name] die Titel-Objekte der Liste [pl-name] liefern * GET /mz/api/alist/[pl-name]/m3u eine einfache Playlist im M3U-Format ausgeben * GET /mz/api/alist/[pl-name]/[nr] den Titel mit der Nummer [nr] abrufen * GET /tango/api/alist/[pl-name] die Titel-Objekte der Liste [pl-name] liefern * GET /tango/api/alist/[pl-name]/m3u eine einfache Playlist im M3U-Format ausgeben * GET /tango/api/alist/[pl-name]/[nr] den Titel mit der Nummer [nr] abrufen * * PUT /mz/api/alist/[pl-name] den Titel im Body anfuegen an die Liste [pl-name] * PUT /mz/api/alist/[pl-name]/[nr] an der Position nr der Liste [pl-name] den Titel im Body einfuegen * PUT /mz/api/alist/[pl-name]/[nrVon]/[nrNach] den Titel von seiner aktuellen Position an eine * PUT /tango/api/alist/[pl-name] den Titel im Body anfuegen an die Liste [pl-name] * PUT /tango/api/alist/[pl-name]/[nr] an der Position nr der Liste [pl-name] den Titel im Body einfuegen * PUT /tango/api/alist/[pl-name]/[nrVon]/[nrNach] den Titel von seiner aktuellen Position an eine * andere Position der Liste [pl-name] verschieben * DELETE /mz/api/alist/[pl-name]/[nr] den Titel an der Position [nr] aus der Liste [pl-name] entfernen * DELETE /mz/api/alist/[pl-name]/alle alle Titel aus der Liste [pl-name] entfernen * DELETE /tango/api/alist/[pl-name]/[nr] den Titel an der Position [nr] aus der Liste [pl-name] entfernen * DELETE /tango/api/alist/[pl-name]/alle alle Titel aus der Liste [pl-name] entfernen * * TODO (2.1.2023): * - Liste ab Titel spielen @@ -97,12 +96,13 @@ List<Titel> titelListe = liste.getTitel(); for(Titel titel : titelListe) { sb.append("http://hsrv:9090/tango"); String server = getEinstellung(fs, getResString(MediaSteuerung.RB_HOST), MediaSteuerung.DEFAULT_HOST); sb.append(server); sb.append(titel.getKatalogUrl()); sb.append(titel.getPfad()); sb.append(titel.getName()); sb.append("\n"); sb.append(Server.NEWLINE); } } return sb.toString(); src/de/uhilger/tango/api/MediaSteuerung.java
@@ -19,12 +19,10 @@ import com.google.gson.Gson; import com.sun.net.httpserver.HttpExchange; import de.uhilger.tango.App; import de.uhilger.tango.Server; import de.uhilger.tango.entity.Abspielvorgang; import de.uhilger.tango.entity.Abspieler; import de.uhilger.tango.entity.Abspielliste; import de.uhilger.tango.entity.Einstellung; import de.uhilger.tango.entity.Entity; import de.uhilger.tango.entity.Livestream; import de.uhilger.tango.entity.Titel; @@ -362,22 +360,7 @@ return kmd; } private String getEinstellung(Storage s, String key, String standardWert) { Entity entity = s.read(Einstellung.class.getSimpleName(), key); if (entity instanceof Einstellung) { Einstellung einstellung = (Einstellung) entity; Object o = einstellung.getValue(); if(o instanceof String) { return o.toString(); } else { return standardWert; } } else { return standardWert; } } private void abspielerKommandoSenden(String kommando) { /* TODO hier evtl. mit mehreren Versuchen ausgleichen,