Projekt Web App Konfiguration via API anpassen, wie genau?
Author: MikeVoltmann
Publication Date: 7/7/2016 14:19
Guten Tag liebe Community
wir haben bei unserem Kunden ein Modul im Einsatz, das eine Konfigurationsoberfläche bietet und pro Projekt konfiguriert werden muss.
Nun Versuchen wir dies über die API zu bewerkstelligen, damit wir nicht in alle 47 Projekte müssen um alles für Preview und Live zu konfigurieren.
Dabei bin ich auf ein Problem gestoßen.
Ich beschreibe zunächst das Vorgehen. Im Anhang befindet sich aber auch ein einfacher Beispiel Code.
Innerhalb des Moduls gibt es eine "Properties"-Datei, die in der module.xml als Ressource für die Webapp aufgeführt ist.
Ich greife zunächst auf den ModuleAdminAgent zu mit dem ich mir die WebAppConfig holen kann
moduleAdminAgent.getWebAppConfig(ModulName,ComponentName,WebAppId)
nun habe ich das Konfigurationsverzeichnis und kann mit einem "obtain" ein FileHandle der Konfigurationsdatei erhalten. Diese kann ich mit load in eine "java.util.Properties" laden um auf die einzelnen Values zuzugreifen.
Nachdem ich die Properties geladen habe, ändere ich die Werte, die projektspezifisch geändert werden müssen und speichere meine Änderungen wie folgt:
final ByteArrayOutputStream out = new ByteArrayOutputStream();
currentWebAppProperties.store(out,"Module - Configuration");
configFile.save(new ByteArrayInputStream(out.toByteArray()));
currentWebAppProperties ist vom Typ java.util.Properties
configFile ist vom Typ FileHandle
Wenn ich im Anschluss über den Servermanager die Konfiguration lade, dann sind noch immer die alten Werte vorhanden. Bei einem Deployment der WebApp sind auch im Dateisystem die alten Werte vorhanden.
Bei einem erneuten Aufruf der Konfigurationsdatei über die API erhalte ich die von mir gespeicherten richtigen Werte.
Jetzt ist in diesem Fall meine Frage:
Bin ich im falschen Konfigverzeichnis?
Muss ich an einer bestimmten Stelle einen Refresh durchführen?
Ist das erhaltende FileHandle dazu gedacht die Konfiguration zu verändern?
Wie kann ich vorgehen um mein Ziel zu erreichen?
Mit freundlichem Gruß
Mike
FS Version 5.2.422
Java8
Tags: 5.2.422, api, config, moduleadminagent
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
0 Kommentare