This is an automated email from the git hooks/post-receive script. New commit to branch feature/8124-VerifConfigurationSource in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 004d41d96eab1ec6f6867c5af1437acb37694bdc Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 16 10:54:59 2016 +0100 correction car DateFormat n'est pas thread Safe (see #8124). --- .../application/web/ObserveWebApplicationListener.java | 2 +- .../fr/ird/observe/application/web/injector/DateInjector.java | 11 +++++++---- .../ObserveDataSourceConfigurationRestConstants.java | 5 +---- .../fr/ird/observe/services/ObserveServiceFactoryRest.java | 5 ++++- 4 files changed, 13 insertions(+), 10 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 7b454d3..540f2e7 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 @@ -67,7 +67,7 @@ public class ObserveWebApplicationListener implements WebMotionServerListener { context.addInjector(new ObserveClassInjector()); context.addInjector(new ObserveDtoInjector(gson)); context.addInjector(new ObserveReferenceSetRequestInjector(gson)); - context.addInjector(new DateInjector(ObserveDataSourceConfigurationRestConstants.DATE_FORMAT)); + context.addInjector(new DateInjector(ObserveDataSourceConfigurationRestConstants.DATE_PATTERN)); context.addInjector(new SqlScriptProducerRequestInjector(gson)); context.addConverter(new ObserveDtoConverter(gson), ObserveDbUserDto.class); diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/DateInjector.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/DateInjector.java index ae741aa..cbc6f7b 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/DateInjector.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/DateInjector.java @@ -8,8 +8,8 @@ import org.debux.webmotion.server.handler.ExecutorParametersInjectorHandler; import org.debux.webmotion.server.mapping.Mapping; import java.lang.reflect.Type; -import java.text.DateFormat; import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.Date; /** @@ -19,10 +19,10 @@ public class DateInjector implements ExecutorParametersInjectorHandler.Injector{ private static final Log log = LogFactory.getLog(DateInjector.class); - protected DateFormat dateFormat; + protected String datePattern; - public DateInjector(DateFormat dateFormat) { - this.dateFormat = dateFormat; + public DateInjector(String datePattern) { + this.datePattern = datePattern; } @Override @@ -35,6 +35,9 @@ public class DateInjector implements ExecutorParametersInjectorHandler.Injector{ if (parameterTree != null) { String dateString = ((String[]) parameterTree.getValue())[0]; + + SimpleDateFormat dateFormat = new SimpleDateFormat(datePattern); + try { result = dateFormat.parse(dateString); } catch (ParseException e) { diff --git a/observe-services-configuration-rest/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationRestConstants.java b/observe-services-configuration-rest/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationRestConstants.java index fed7969..217b6dd 100644 --- a/observe-services-configuration-rest/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationRestConstants.java +++ b/observe-services-configuration-rest/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationRestConstants.java @@ -22,9 +22,6 @@ package fr.ird.observe.services.configuration; * #L% */ -import java.text.DateFormat; -import java.text.SimpleDateFormat; - /** * Created on 04/09/15. * @@ -46,6 +43,6 @@ public interface ObserveDataSourceConfigurationRestConstants { String REQUEST_ADMIN_API_KEY = "adminApiKey"; - DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); + String DATE_PATTERN = "yyyy-MM-dd'T'HH:mm:ssZ"; } diff --git a/observe-services-rest/src/main/java/fr/ird/observe/services/ObserveServiceFactoryRest.java b/observe-services-rest/src/main/java/fr/ird/observe/services/ObserveServiceFactoryRest.java index 3c76716..03dc3d7 100644 --- a/observe-services-rest/src/main/java/fr/ird/observe/services/ObserveServiceFactoryRest.java +++ b/observe-services-rest/src/main/java/fr/ird/observe/services/ObserveServiceFactoryRest.java @@ -52,6 +52,7 @@ import org.apache.commons.logging.LogFactory; import java.io.IOException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; +import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -315,6 +316,8 @@ public class ObserveServiceFactoryRest extends ObserveServiceFactorySupport impl } + SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_PATTERN); + String[] strings = paranamer.lookupParameterNames(method); int index = 0; for (String name : strings) { @@ -325,7 +328,7 @@ public class ObserveServiceFactoryRest extends ObserveServiceFactorySupport impl } else if (value != null && value instanceof Collection) { requestBuilder.addParameter(name, (Collection) value); // Make sure List is not converted to JSON } else if (value != null && value instanceof Date) { - requestBuilder.addParameter(name, DATE_FORMAT.format(value)); + requestBuilder.addParameter(name, dateFormat.format(value)); } else if (value != null) { requestBuilder.addParameter(name, value); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.