| | |
| | | import java.io.IOException; |
| | | |
| | | /** |
| | | * Ein Neon-Actor fuer Aenderungen an Dateien. |
| | | * |
| | | * Die folgenden Aktionen werden ausgefuehrt. |
| | | * |
| | | * PUT [url] [body] |
| | | * |
| | | * <pre> |
| | | * - Inhalt einer einzelnen Datei anlegen oder ueberschreiben: url=ziel, Dateiinhalt im Body |
| | | * - Liste mit Dateien kopieren (?copyFrom=quelle): url=ziel, Dateiliste im Body |
| | | * - Liste mit Dateien verschieben (?moveFrom=quelle): url=Ziel, Dateiliste im Body |
| | | * - einzelne Datei duplizieren (?duplicate): url=Zieldatei |
| | | * - einzelne Datei umbenennen (?renameTo=neuer Name): url=Datei oder -odner |
| | | * - Ordner packen (?zip): url=Ordner |
| | | * - Zip-Datei entpacken (?unzip): url=Datei |
| | | * </pre> |
| | | * Ein Klasse fuer Aenderungen an bestehenden Dateien. |
| | | * |
| | | * @author Ulrich Hilger |
| | | * @version 0.1, 07.11.2024 |
| | |
| | | private static final String P_ZIP = "zip"; |
| | | private static final String P_UNZIP = "unzip"; |
| | | |
| | | public void run(HttpExchange exchange) { |
| | | /** |
| | | * <p> |
| | | * Diese Methode ist als Reaktion auf einen HTTP PUT Aufruf an folgende URLs gedacht</p> |
| | | * |
| | | * <pre> |
| | | * PUT [url] |
| | | * [body] |
| | | * </pre> |
| | | * |
| | | * <pre> |
| | | * - Inhalt einer einzelnen Datei anlegen oder ueberschreiben: url=ziel, Dateiinhalt im Body |
| | | * - Liste mit Dateien kopieren (?copyFrom=quelle): url=ziel, Dateiliste im Body |
| | | * - Liste mit Dateien verschieben (?moveFrom=quelle): url=Ziel, Dateiliste im Body |
| | | * - einzelne Datei duplizieren (?duplicate): url=Zieldatei |
| | | * - einzelne Datei umbenennen (?renameTo=neuer Name): url=Datei oder -odner |
| | | * - Ordner packen (?zip): url=Ordner |
| | | * - Zip-Datei entpacken (?unzip): url=Datei |
| | | * </pre> |
| | | * |
| | | * @param exchange das Objekt mit Infos zu HTTP-Request, -Response usw. |
| | | */ |
| | | public void change(HttpExchange exchange) { |
| | | try { |
| | | init(exchange); |
| | | String query = exchange.getRequestURI().getQuery(); |
| | |
| | | break; |
| | | case P_ZIP: |
| | | //String path = exchange.getRequestURI().toString(); |
| | | zipAntwort(exchange, new Deflator().packFolder(fileName, /*path, */base)); |
| | | zipAntwort(exchange, new Deflator().packFolder(fileName, /*path, */ base)); |
| | | break; |
| | | case P_UNZIP: |
| | | //String path = exchange.getRequestURI().toString(); |
| | |
| | | |
| | | private void copyOrMove(HttpExchange exchange, String quelle, String ziel, int op) throws IOException { |
| | | String[] dateiNamen = dateiliste(exchange); |
| | | if(op == Mover.OP_COPY) { |
| | | if (op == Mover.OP_COPY) { |
| | | new Mover().copy(quelle, ziel, dateiNamen, base); |
| | | } else { |
| | | new Mover().move(quelle, ziel, dateiNamen, base); |
| | | } |
| | | } |
| | | //new Mover().copyOrMoveFiles(quelle, ziel, dateiNamen, op, base); |
| | | antwort(exchange, HttpResponder.SC_OK, "Dateien verarbeitet."); |
| | | } |
| | |
| | | antwort(exchange, HttpResponder.SC_UNPROCESSABLE_ENTITY, antw); |
| | | } |
| | | } |
| | | } |
| | | } |