From 081606e391a352d8117210d731d252dfb43c4b84 Mon Sep 17 00:00:00 2001 From: ulrich Date: Mon, 05 Apr 2021 10:00:45 +0000 Subject: [PATCH] FileStorage und Interface Storage --- src/de/uhilger/mediaz/api/StorageHandler.java | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/de/uhilger/mediaz/api/StoreHandler.java b/src/de/uhilger/mediaz/api/StorageHandler.java similarity index 83% rename from src/de/uhilger/mediaz/api/StoreHandler.java rename to src/de/uhilger/mediaz/api/StorageHandler.java index 4e317bb..12c4417 100644 --- a/src/de/uhilger/mediaz/api/StoreHandler.java +++ b/src/de/uhilger/mediaz/api/StorageHandler.java @@ -10,22 +10,24 @@ import com.sun.net.httpserver.HttpHandler; import de.uhilger.mediaz.App; import de.uhilger.mediaz.Server; -import de.uhilger.mediaz.conf.Store; +import de.uhilger.mediaz.store.FileStorage; import de.uhilger.mediaz.entity.Ablageort; import java.io.BufferedReader; +import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; +import java.util.logging.Level; import java.util.logging.Logger; /** * * @author ulrich */ -public class StoreHandler extends Store implements HttpHandler { +public class StorageHandler implements HttpHandler { - private static final Logger logger = Logger.getLogger(StoreHandler.class.getName()); + private static final Logger logger = Logger.getLogger(StorageHandler.class.getName()); /* @@ -41,11 +43,11 @@ liest den Ablageort namens "Katalog" HTTP POST an /mz/api/store/Ablageort - schreibt den neuen Ablageort im Body der Anfrage + schreibt den neuen Ablageort im Body der Anfrage (Neu) HTTP PUT an /mz/api/store/Ablageort sucht den Ablageort mit dem Namen laut Body der Anfrage - und schreibt den Inhalt aus der Anfrage in die Datei + und schreibt den Inhalt aus der Anfrage in die Datei (Aenderung) HTTP DELETE an /mz/api/store/Ablageort/Katalog löscht den Ablageort namens "Katalog" @@ -64,11 +66,13 @@ String[] elems = path.split(App.getRs(Server.RB_SLASH)); String type = ""; String elemName = ""; + FileStorage fs = new FileStorage(App.getInitParameter(App.getRs(App.RB_AP_CONF))); switch(method) { case HTTP_GET: type = elems[elems.length - 2]; elemName = elems[elems.length - 1]; //this.readFromFile(file); + fs.read(type, elemName); break; case HTTP_PUT: @@ -83,6 +87,11 @@ Gson gson = new Gson(); Ablageort ort = gson.fromJson(elemName, Ablageort.class); elemName = ort.getName(); + Object o = fs.write(ort); + if(o instanceof File) { + File file = (File) o; + logger.log(Level.INFO, "Datei {0} geschrieben.", file.getAbsolutePath()); + } } break; -- Gitblit v1.9.3