This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit 42d49839a3f0e6581d1735f19e4270a7491b8d3c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 14 02:21:21 2015 +0100 Ajout d'une action pour recharger la configuration du serveur --- .../web/ObserveWebApplicationContext.java | 16 +++++++++++++++ .../web/controller/v1/ConfigurationController.java | 23 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java index 9ace49b..912e808 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java @@ -112,6 +112,22 @@ public class ObserveWebApplicationContext implements Closeable { } + public void reloadConfiguration() throws InvalidObserveWebUserPermissionException, InvalidObserveWebUsersException, InvalidObserveWebUserException, InvalidObserveWebDatabaseException, InvalidObserveWebDatabasesException, InvalidObserveWebDatabaseRoleException { + + // init databases + ObserveWebDatabasesHelper databasesHelper = new ObserveWebDatabasesHelper(); + databases = databasesHelper.load(applicationConfiguration.getDatabasesConfigurationFile()); + + // init users + ObserveWebUsersHelper usersHelper = new ObserveWebUsersHelper(); + users = usersHelper.load(databases, applicationConfiguration.getUsersConfigurationFile()); + + Version modelVersion = applicationConfiguration.getModelVersion(); + + securityApplicationContext.init(databases, users, modelVersion); + + } + @Override public void close() { diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java index 765b4d2..2763cd4 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java @@ -23,8 +23,14 @@ package fr.ird.observe.application.web.controller.v1; */ import com.google.common.collect.ImmutableMap; +import fr.ird.observe.application.web.configuration.db.InvalidObserveWebDatabaseException; +import fr.ird.observe.application.web.configuration.db.InvalidObserveWebDatabaseRoleException; +import fr.ird.observe.application.web.configuration.db.InvalidObserveWebDatabasesException; import fr.ird.observe.application.web.configuration.db.ObserveWebDatabases; import fr.ird.observe.application.web.configuration.db.ObserveWebDatabasesHelper; +import fr.ird.observe.application.web.configuration.user.InvalidObserveWebUserException; +import fr.ird.observe.application.web.configuration.user.InvalidObserveWebUserPermissionException; +import fr.ird.observe.application.web.configuration.user.InvalidObserveWebUsersException; import fr.ird.observe.application.web.configuration.user.ObserveWebUsers; import fr.ird.observe.application.web.configuration.user.ObserveWebUsersHelper; import fr.ird.observe.application.web.controller.ObserveWebMotionController; @@ -155,5 +161,22 @@ public class ConfigurationController extends ObserveWebMotionController { } + public RenderContent reload() throws IOException, InvalidObserveWebUserPermissionException, InvalidObserveWebDatabaseException, InvalidObserveWebDatabasesException, InvalidObserveWebDatabaseRoleException, InvalidObserveWebUsersException, InvalidObserveWebUserException { + + // Reset all connexions + + ObserveWebSecurityApplicationContext securityApplicationContext = getSecurityApplicationContext(); + ImmutableMap<String, ObserveDataSourceConfigurationAndConnection> authenticationTokensCache = securityApplicationContext.getConfigurationByAuthenticationToken(); + + for (String authenticationToken : authenticationTokensCache.keySet()) { + securityApplicationContext.invalidateAuthenticationToken(authenticationToken); + } + + getApplicationContext().reloadConfiguration(); + + return home(); + + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.