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