Persoenliche Mediazentrale
ulrich
2021-04-11 d12f6ef6e56ac9b696d643dd0945573424a1afdc
src/de/uhilger/mediaz/api/ListFileHandler.java
@@ -17,6 +17,7 @@
 */
package de.uhilger.mediaz.api;
import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import de.uhilger.mediaz.App;
import de.uhilger.mediaz.Server;
@@ -27,6 +28,7 @@
import de.uhilger.mediaz.store.StorageFile;
import de.uhilger.mediaz.store.Track;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
@@ -34,6 +36,7 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -80,7 +83,16 @@
      logger.fine(fName);
      File dir = new File(fileBase, fName);
      logger.fine(dir.getAbsolutePath());
      File[] files = dir.listFiles();
      File[] files = dir.listFiles(new FileFilter() {
        @Override
        public boolean accept(File pathname) {
          Set keys = extMap.keySet();
          String fname = pathname.getName();
          int pos = fname.lastIndexOf(".");
          String ext = fname.substring(pos+1);
          return keys.contains(ext) || pathname.isDirectory();
        }
      });
      Arrays.sort(files);      
      ArrayList list = new ArrayList();
      if(files != null) {
@@ -109,6 +121,8 @@
      //Collections.sort(list);
      String json = jsonWithCustomType(list, "Medialiste");
      logger.fine(json);
      Headers headers = e.getResponseHeaders();
      headers.add("Content-Type", "application/json");
      e.sendResponseHeaders(200, json.length());
      OutputStream os = e.getResponseBody();
      os.write(json.getBytes());