From 7d31187663154286b4a49beaf49d98ffd004ec06 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sat, 24 Apr 2021 08:33:16 +0000
Subject: [PATCH] UI-Anpassungen
---
src/de/uhilger/mediaz/api/StorageHandler.java | 35 +++++++++++++++++++++++++++++++++--
1 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/src/de/uhilger/mediaz/api/StorageHandler.java b/src/de/uhilger/mediaz/api/StorageHandler.java
index a8bc567..f84629f 100644
--- a/src/de/uhilger/mediaz/api/StorageHandler.java
+++ b/src/de/uhilger/mediaz/api/StorageHandler.java
@@ -23,6 +23,7 @@
import static de.uhilger.mediaz.App.RB_EP_LISTE;
import static de.uhilger.mediaz.App.RB_EP_LISTE_ALLES;
import de.uhilger.mediaz.Server;
+import de.uhilger.mediaz.entity.Ablageort;
import de.uhilger.mediaz.store.FileStorage;
import de.uhilger.mediaz.entity.Entity;
import de.uhilger.mediaz.entity.Geraet;
@@ -73,11 +74,33 @@
Object o = gson.fromJson(bodyLesen(e), fs.typeFromName(type).getType());
if(o instanceof Entity) {
Entity entity = (Entity) o;
- if(fs.exists(type, elemName)) {
+ if(fs.exists(type, elemName)) { // Aenderung
fs.delete(type, elemName);
+ // wenn Ablageort, hier noch alten Kontext entfernen
+ if(type.equalsIgnoreCase(FileStorage.ST_ABLAGEORT)) {
+ Entity aoe = fs.read(type, elemName);
+ if(aoe instanceof Ablageort) {
+ Ablageort ablageort = (Ablageort) aoe;
+ App.getServer().ablageortEntfernen(ablageort.getUrl());
+ }
+ }
fs.write(entity, true);
- } else {
+ // wenn Ablageort, hier noch neuen Kontext anlegen
+ if(type.equalsIgnoreCase(FileStorage.ST_ABLAGEORT)) {
+ if(entity instanceof Ablageort) {
+ Ablageort ablageort = (Ablageort) entity;
+ App.getServer().ablageortHinzufuegen(ablageort);
+ }
+ }
+ } else { // Neu
fs.write(entity, false);
+ // wenn Ablageort, hier noch neuen Kontext anlegen
+ if(type.equalsIgnoreCase(FileStorage.ST_ABLAGEORT)) {
+ if(entity instanceof Ablageort) {
+ Ablageort ablageort = (Ablageort) entity;
+ App.getServer().ablageortHinzufuegen(ablageort);
+ }
+ }
}
return type + Server.SLASH + entity.getName();
} else {
@@ -94,6 +117,14 @@
String type = elems[elems.length - 2];
String elemName = elems[elems.length - 1];
FileStorage fs = new FileStorage(App.getInitParameter(App.getRs(App.RB_AP_CONF)));
+ if(type.equalsIgnoreCase(FileStorage.ST_ABLAGEORT)) {
+ // im laufenden Server den Context entfernen
+ Entity entity = fs.read(type, elemName);
+ if(entity instanceof Ablageort) {
+ Ablageort ablageort = (Ablageort) entity;
+ App.getServer().ablageortEntfernen(ablageort.getUrl());
+ }
+ }
return fs.delete(type, elemName);
}
--
Gitblit v1.9.3