| | |
| | | */ |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | 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) { |
| | |
| | | //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()); |