From 1ff360777df36ba9980000823e1131d3e05fdeb7 Mon Sep 17 00:00:00 2001
From: undisclosed
Date: Thu, 05 Jan 2023 17:47:11 +0000
Subject: [PATCH] Baustelle begonnen: StreamHandler

---
 src/de/uhilger/tango/api/ListHandler.java |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/de/uhilger/tango/api/ListHandler.java b/src/de/uhilger/tango/api/ListHandler.java
index 719f911..13b7f7c 100644
--- a/src/de/uhilger/tango/api/ListHandler.java
+++ b/src/de/uhilger/tango/api/ListHandler.java
@@ -34,8 +34,15 @@
  * GET /mz/api/alist/[pl-name]          die Titel-Objekte der Liste [pl-name] liefern
  * 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
+ * Neu: PUT /mz/api/alist/[pl-name]/[nr]/up  den Titel an der Position nr der Liste [pl-name] eins nach oben
+ * Neu: PUT /mz/api/alist/[pl-name]/[nr]/dn  den Titel an der Position nr der Liste [pl-name] eins nach unten
  * 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  
+ * 
+ * TODO (2.1.2023):
+ * - Titel eins nach oben/unten
+ * - Liste ab Titel spielen
+ * - Ganzes Album der Liste hinzufuegen
  *
  * @author Ulrich Hilger
  * @version 1, 8.4.2021
@@ -45,14 +52,19 @@
   private static final Logger logger = Logger.getLogger(ListHandler.class.getName());
   
   public static final String ALLE_TITEL = "alle";
-
+  
+  private String conf;
+  
+  public ListHandler(String conf) {
+    this.conf = conf;
+  }
 
   @Override
   protected String get(HttpExchange e) {
     String path = e.getRequestURI().toString();
     String[] elems = path.split(Server.SLASH);
     String plname = elems[elems.length - 1];
-    FileStorage fs = new FileStorage(App.getInitParameter(App.getRs(App.RB_AP_CONF)));
+    FileStorage fs = new FileStorage(conf);
     String json = fs.readJson(FileStorage.ST_ABSPIELLISTE, plname);
     return embedInCustomType(json, FileStorage.ST_ABSPIELLISTE);
   }
@@ -75,7 +87,7 @@
   }
   
   private String addTitel(HttpExchange e, String plname) throws IOException {
-    FileStorage fs = new FileStorage(App.getInitParameter(App.getRs(App.RB_AP_CONF)));
+    FileStorage fs = new FileStorage(conf);
     Entity entity = fs.read(FileStorage.ST_ABSPIELLISTE, plname);
     String response = "Titel konnte nicht hinzugefuegt werden.";
     if(entity instanceof Abspielliste) {
@@ -104,7 +116,7 @@
     String path = e.getRequestURI().toString();
     String[] elems = path.split(Server.SLASH);
     String listName = elems[elems.length - 2];
-    FileStorage fs = new FileStorage(App.getInitParameter(App.getRs(App.RB_AP_CONF)));
+    FileStorage fs = new FileStorage(conf);
     Entity entity = fs.read(Abspielliste.class.getSimpleName(), listName);
     if(entity instanceof Abspielliste) {
       Abspielliste liste = (Abspielliste) entity;

--
Gitblit v1.9.3