From 9865bd176bde875b1f1eaf4d4319c5c3b298ff69 Mon Sep 17 00:00:00 2001 From: ulrich Date: Sat, 10 Apr 2021 18:14:44 +0000 Subject: [PATCH] Fehler bei Abspielliste-Formular bei Cancel behoben --- src/de/uhilger/mediaz/api/ListFileHandler.java | 18 +++++++++++++----- 1 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/de/uhilger/mediaz/api/ListFileHandler.java b/src/de/uhilger/mediaz/api/ListFileHandler.java index cb9e9b4..e6452eb 100644 --- a/src/de/uhilger/mediaz/api/ListFileHandler.java +++ b/src/de/uhilger/mediaz/api/ListFileHandler.java @@ -30,6 +30,8 @@ import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; @@ -49,14 +51,14 @@ public ListFileHandler(String absoluteDirectoryPathAndName) { super(absoluteDirectoryPathAndName); /* - Nachfolgend hart codiert die Ermittlung von Dateifiltern. + Ermittlung von Dateifiltern. Sie werden erwartet in den Einstellungen 'audioexts' und 'videoexts' jeweils als Dateierweiterungen mit Komma getrennt z.B. "mp4,m4v" */ FileStorage fs = new FileStorage(App.getInitParameter(App.getRs(App.RB_AP_CONF))); - initMap(fs, "audioexts", StorageFile.TYP_AUDIO); - initMap(fs, "videoexts", StorageFile.TYP_VIDEO); + initMap(fs, App.getRs(App.RB_AUDIOEXTS), StorageFile.TYP_AUDIO); + initMap(fs, App.getRs(App.RB_VIDEOEXTS), StorageFile.TYP_VIDEO); } private void initMap(Storage s, String key, String typ) { @@ -73,18 +75,20 @@ public void handle(HttpExchange e) throws IOException { String path = e.getRequestURI().toString(); logger.fine(path); - if(path.endsWith(App.getRs(Server.RB_SLASH))) { + if(path.endsWith(Server.SLASH)) { String fName = getFileName(e); logger.fine(fName); File dir = new File(fileBase, fName); logger.fine(dir.getAbsolutePath()); File[] files = dir.listFiles(); + Arrays.sort(files); ArrayList list = new ArrayList(); if(files != null) { for(File file : files) { StorageFile sf = new StorageFile(); String fname = file.getName(); sf.setName(fname); + sf.setTitelAnzName(fname); if(file.isDirectory()) { sf.setTyp(StorageFile.TYP_FOLDER); } else { @@ -102,6 +106,7 @@ list.add(sf); } } + //Collections.sort(list); String json = jsonWithCustomType(list, "Medialiste"); logger.fine(json); e.sendResponseHeaders(200, json.length()); @@ -117,7 +122,10 @@ if(sf.getTyp().equalsIgnoreCase(StorageFile.TYP_AUDIO)) { Track track = new Track(file); sf.setInterpret(track.getArtist()); - sf.setTitelAnzName(track.getTitle()); + String trackTitel = track.getTitle(); + if(trackTitel != null && trackTitel.length() > 0) { + sf.setTitelAnzName(trackTitel); + } sf.setAlbum(track.getAlbum()); } } -- Gitblit v1.9.3