From a29f5ca76074f014d2a82390610797907528efc1 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Wed, 21 Apr 2021 06:37:03 +0000
Subject: [PATCH] Unterscheidung und Verarbeitung Geraete-Liste mit allen Angaben (auch Status) oder nur Name

---
 src/de/uhilger/mediaz/api/StorageHandler.java |   21 +++++++++------------
 src/de/uhilger/mediaz/App.java                |    1 +
 src/mediaz_de_DE.properties                   |    1 +
 www/ui/data/tpl/form_geraet.txt               |    1 +
 www/ui/js/app.js                              |    5 +++--
 5 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/de/uhilger/mediaz/App.java b/src/de/uhilger/mediaz/App.java
index 83ceb8e..92f151f 100644
--- a/src/de/uhilger/mediaz/App.java
+++ b/src/de/uhilger/mediaz/App.java
@@ -56,6 +56,7 @@
   public static final String RB_AP_CTX = "appParamCtx"; 
   public static final String RB_AP_UI = "appParamUi"; 
   public static final String RB_EP_LISTE = "epliste"; 
+  public static final String RB_EP_LISTE_ALLES = "eplisteAlles"; 
   public static final String RB_AUDIOEXTS = "audioexts";
   public static final String RB_VIDEOEXTS = "videoexts";
   public static final String RB_PLAYERPARAMS = "playerparams";
diff --git a/src/de/uhilger/mediaz/api/StorageHandler.java b/src/de/uhilger/mediaz/api/StorageHandler.java
index f55e8e0..9d9a4be 100644
--- a/src/de/uhilger/mediaz/api/StorageHandler.java
+++ b/src/de/uhilger/mediaz/api/StorageHandler.java
@@ -21,6 +21,7 @@
 import com.sun.net.httpserver.HttpExchange;
 import de.uhilger.mediaz.App;
 import static de.uhilger.mediaz.App.RB_EP_LISTE;
+import static de.uhilger.mediaz.App.RB_EP_LISTE_ALLES;
 import de.uhilger.mediaz.Server;
 import de.uhilger.mediaz.store.FileStorage;
 import de.uhilger.mediaz.entity.Entity;
@@ -28,16 +29,8 @@
 import static de.uhilger.mediaz.store.FileStorage.ST_ABLAGEORT;
 import static de.uhilger.mediaz.store.FileStorage.ST_GERAET;
 import de.uhilger.mediaz.store.Storage;
-import java.io.BufferedReader;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.Authenticator;
-import java.net.HttpURLConnection;
-import java.net.InetSocketAddress;
-import java.net.ProxySelector;
 import java.net.URI;
-import java.net.URL;
 import java.util.Iterator;
 import java.util.List;
 import java.util.logging.Level;
@@ -46,7 +39,6 @@
 import java.net.http.HttpClient;
 import java.net.http.HttpClient.Version;
 import java.net.http.HttpClient.Redirect;
-import java.net.http.HttpClient.Builder;
 import java.net.http.HttpRequest;
 import java.net.http.HttpResponse;
 import java.net.http.HttpResponse.BodyHandlers;
@@ -56,6 +48,9 @@
 
 /**
  * HttpHandler fuer die Verwaltung von Entitaeten der Mediazentrale
+ * 
+ * /mz/api/store/[name]/liste
+ * /mz/api/store/[name]/listealles  (nur Typ Geraet)
  * 
  * @author Ulrich Hilger
  * @version 1, 5.4.2021
@@ -107,7 +102,7 @@
     FileStorage fs = new FileStorage(App.getInitParameter(App.getRs(App.RB_AP_CONF)));
     if(path.endsWith(Server.SLASH)) {
       List list = null;
-      if(elems[elems.length - 1].equalsIgnoreCase(App.getRs(RB_EP_LISTE))) {
+      if(elems[elems.length - 1].equalsIgnoreCase(App.getRs(RB_EP_LISTE_ALLES))) {
         String type = elems[elems.length - 2];
         logger.fine(type);
         if(type.equalsIgnoreCase(ST_GERAET)) {
@@ -115,9 +110,11 @@
           Gson gson = new Gson();
           Object o = gson.fromJson(bodyLesen(e), fs.typeFromName(type).getType());
           return gson.toJson(list);
-        } else {        
-          list = fs.list(type);
         }
+      } else if(elems[elems.length - 1].equalsIgnoreCase(App.getRs(RB_EP_LISTE))) {
+        String type = elems[elems.length - 2];
+        logger.fine(type);
+        list = fs.list(type);
         if(type.equalsIgnoreCase(ST_ABLAGEORT)) {
           list.add("Livestreams");
         }
diff --git a/src/mediaz_de_DE.properties b/src/mediaz_de_DE.properties
index 92154cf..fa9aa42 100644
--- a/src/mediaz_de_DE.properties
+++ b/src/mediaz_de_DE.properties
@@ -20,6 +20,7 @@
 strg=/api/strg
 gstrg=/api/gstrg
 epliste=liste
+eplisteAlles=listealles
 stopServer=/api/server/stop
 testAblage=/api/test/ablage
 testStore=/api/test/store
diff --git a/www/ui/data/tpl/form_geraet.txt b/www/ui/data/tpl/form_geraet.txt
index 8772037..92dd2a8 100644
--- a/www/ui/data/tpl/form_geraet.txt
+++ b/www/ui/data/tpl/form_geraet.txt
@@ -4,6 +4,7 @@
     <input name="einUrl" class="entity-form-element" type="text" id="geraet-einurl" placeholder="URL (Ein)" value="{{einUrl}}" />
     <input name="ausUrl" class="entity-form-element" type="text" id="geraet-ausurl" placeholder="URL (Aus)" value="{{ausUrl}}" />
     <input name="statusUrl" class="entity-form-element" type="text" id="geraet-statusurl" placeholder="URL (Status)" value="{{statusUrl}}" />
+    <input name="status" class="entity-form-element" type="hidden" id="geraet-status" placeholder="URL (Status)" value="{{status}}" />
     <div class="entity-buttons">
       <button type="submit" class="button-primary" id="ok-btn">Speichern</button>
       <button type="button" class="button" id="cancel-btn">Abbrechen</button>
diff --git a/www/ui/js/app.js b/www/ui/js/app.js
index 3825b66..5051dd6 100644
--- a/www/ui/js/app.js
+++ b/www/ui/js/app.js
@@ -156,7 +156,7 @@
   };
   
   this.geraet_schalt_liste = function() {
-    self.entitaet_liste('Geräte schalten','../api/store/Geraet/liste/', 
+    self.entitaet_liste('Geräte schalten','../api/store/Geraet/listealles/', 
       "data/tpl/geraet_schalt_liste.txt", '../api/store/Geraet/', 
       "self.form_geraet_status", function(responseText) {
         var geraet = JSON.parse(responseText);
@@ -889,9 +889,10 @@
   this.album  = a;
 }
 
-function Geraet(n, e, a, s) {
+function Geraet(n, e, a, s, st) {
   this.name = n;
   this.einUrl = e;
   this.ausUrl = a;
   this.statusUrl = s;
+  this.status = st;
 }
\ No newline at end of file

--
Gitblit v1.9.3