Dateiverwaltung fuer neon
ulrich
2024-11-20 f510b5162268c7bd7dad67bd739f3ba548eade54
src/de/uhilger/neon/fm/FileEraser.java
@@ -26,15 +26,32 @@
import java.util.logging.Logger;
/**
 *
 * Loeschen von Dateien und Ordnern als Reaktion auf entsprechende
 * Aufrufe mittels HTTP DELETE
 *
 * @author Ulrich Hilger
 * @version 0.1, 08.11.2024
 */
public class FileEraser extends AbstractFileActor {
  public void run(HttpExchange exchange) {
  /**
   * <p>Diese Mthode ist als Reaktion auf einen HTTP DELETE Aufruf an
   * folgenden URL gedacht</p>
   *
   * <pre>
    * Dateien und Ordner loeschen:
    * http://localhost:[port]/[kontext]/pfad/zum/ordner/
    * Body: Liste  mit Datei- und Ordnernamen, die aus dem im URL
    *         angegebenen Ordner geloescht werden sollen, z.B. ["test.txt","dok"]
    * Hiermit werden die Datei test.txt und der Ordner dok geloescht.
    * Das Loeschen geschieht rekursiv, einschliesslich aller Unterordner
    * </pre>
    *
   * @param exchange das Objekt mit Infos zu HTTP-Request, -Response usw.
   */
  public void delete(HttpExchange exchange) {
    try {
      super.run(exchange);
      init(exchange);
      String[] dateiNamen = dateiliste(exchange);
      new Eraser().deleteFiles(fileName, Arrays.asList(dateiNamen), base);
      antwort(exchange, HttpResponder.SC_OK, "Dateien geloescht.");