| | |
| | | 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; |
| | |
| | | /** |
| | | * HttpHandler fuer die Verwaltung von Entitaeten der Mediazentrale |
| | | * |
| | | * /mz/api/store/[name]/liste |
| | | * /mz/api/store/[name]/listealles (nur Typ Geraet) |
| | | * GET /mz/api/store/[typname]/[name] |
| | | * GET /mz/api/store/[typname]/liste |
| | | * GET /mz/api/store/[typname]/listealles (nur Typ Geraet) |
| | | * |
| | | * @author Ulrich Hilger |
| | | * @version 1, 5.4.2021 |
| | |
| | | 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 { |
| | |
| | | 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); |
| | | } |
| | | |