This is an automated email from the git hooks/post-receive script. New commit to branch feature/7463-3 in repository observe. See http://git.codelutin.com/observe.git commit b5a742e3051128acef2e069c2929220c70368d0f Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 7 14:45:38 2015 +0200 L'injecteur de configuration de sources de données utilise le parametre de la requete --- .../application/web/ObserveWebApplicationListener.java | 2 +- .../ObserveDataSourceConfigurationInjector.java | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationListener.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationListener.java index eedbd98..d6b357d 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationListener.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationListener.java @@ -35,7 +35,7 @@ public class ObserveWebApplicationListener implements WebMotionServerListener { Gson gson = applicationContext.getGsonSupplier().get(); - context.addInjector(new ObserveDataSourceConfigurationInjector()); + context.addInjector(new ObserveDataSourceConfigurationInjector(gson)); context.addInjector(new IdDtoInjector(gson)); context.addInjector(new FormDtoInjector(gson)); diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveDataSourceConfigurationInjector.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveDataSourceConfigurationInjector.java index 19fcbb9..683b7b0 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveDataSourceConfigurationInjector.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveDataSourceConfigurationInjector.java @@ -1,7 +1,8 @@ package fr.ird.observe.application.web.injector; -import fr.ird.observe.application.web.request.ObserveWebRequestContext; +import com.google.gson.Gson; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.debux.webmotion.server.call.Call; @@ -20,16 +21,24 @@ public class ObserveDataSourceConfigurationInjector implements ExecutorParameter /** Logger. */ private static final Log log = LogFactory.getLog(ObserveDataSourceConfigurationInjector.class); + protected final Gson gson; + + public ObserveDataSourceConfigurationInjector(Gson gson) { + this.gson = gson; + } + @Override public Object getValue(Mapping mapping, Call call, String name, Class<?> type, Type generic) { ObserveDataSourceConfiguration dataSourceConfiguration = null; if (type.equals(ObserveDataSourceConfiguration.class)) { - // on recupère la configuration de source de données depuis le requestContext - ObserveWebRequestContext requestContext = ObserveWebRequestContext.getRequestContext(call.getContext()); + Call.ParameterTree parameterTree = call.getParameterTree().getObject().get(name); + + String gsonContent = ((String[]) parameterTree.getValue())[0]; - dataSourceConfiguration = requestContext.getDataSourceConfiguration(); + // On récupère obligatoirement une configuration de type rest + dataSourceConfiguration = gson.fromJson(gsonContent, ObserveDataSourceConfigurationRest.class); if (log.isInfoEnabled()) { log.info("Inject dataSourceConfiguration: " + dataSourceConfiguration); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.