This is an automated email from the git hooks/post-receive script. New commit to branch feature/27 in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit d8c24f0b036c73f86442d7dbe4bee68550a06798 Author: Tony CHEMIT <dev@tchemit.fr> Date: Sun Jan 1 14:24:18 2017 +0100 Pouvoir configurer le temps de connection (closes #27) --- .../src/main/config/ObserveSwingApplication.ini | 6 +++ ...pplication-swing-configuration_en_GB.properties | 1 + ...pplication-swing-configuration_es_ES.properties | 1 + ...pplication-swing-configuration_fr_FR.properties | 1 + .../swing/db/ObserveSwingDataSource.java | 18 ++----- .../src/main/config/ObserveWebApplication.ini | 6 +++ .../application-web-configuration_en_GB.properties | 1 + .../application-web-configuration_es_ES.properties | 1 + .../application-web-configuration_fr_FR.properties | 1 + .../application/web/ObserveWebMotionFilter.java | 4 +- .../web/request/ObserveWebRequestContext.java | 6 +++ .../services/rest/ObserveServiceFactoryRest.java | 22 ++++----- .../observe/services/rest/http/ObserveRequest.java | 10 +++- .../services/rest/http/ObserveRequestBuilder.java | 9 +++- .../services/rest/http/ObserveResponse.java | 2 +- .../services/rest/http/ObserveResponseBuilder.java | 55 ++++++++++------------ .../services/rest/RestTestClassResource.java | 6 ++- .../services/topia/TopiaTestClassResource.java | 2 + .../services/ObserveServiceInitializer.java | 23 +++++++++ 19 files changed, 112 insertions(+), 63 deletions(-) diff --git a/application-swing-configuration/src/main/config/ObserveSwingApplication.ini b/application-swing-configuration/src/main/config/ObserveSwingApplication.ini index 6ef19d2..e2ece4b 100644 --- a/application-swing-configuration/src/main/config/ObserveSwingApplication.ini +++ b/application-swing-configuration/src/main/config/ObserveSwingApplication.ini @@ -480,6 +480,12 @@ key = ui.showMnemonic type = boolean defaultValue = true +[option httpTimeout] +description = observe.config.httpTimeout.description +key = http.timeout +type = int +defaultValue = 30000 + [action help] description = observe.action.commandline.help action = "fr.ird.observe.application.swing.ObserveCLAction#help" diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties index 288f4f4..3c22c6e 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties @@ -31,6 +31,7 @@ observe.config.h2.can.migrate.description=Flag to know if you can migrate h2 dat observe.config.h2.login.description=H2 Login observe.config.h2.password.description=H2 Password observe.config.h2.serverPort.description=Server port number +observe.config.httpTimeout.description=Maximum delay in millisecondes to http connections observe.config.importDirectory.description=Import directory observe.config.logConfigurationFile.description=Log file configuration observe.config.map.background.description=Color of background diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties index 69fa8b9..0d155f3 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties @@ -31,6 +31,7 @@ observe.config.h2.can.migrate.description=Autorizar la actualización de las bas observe.config.h2.login.description=Login h2 observe.config.h2.password.description=Contraseña h2 observe.config.h2.serverPort.description=Puerto del servidor h2 +observe.config.httpTimeout.description=Temps maximum en millisecondes pour la tentative d'une connexion http \#TODO observe.config.importDirectory.description=Répertoire où chercher les imports \#TODO observe.config.logConfigurationFile.description=Archivo de configuration de los logs observe.config.map.background.description=Color del fondo del mapa diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties index a600367..8007a51 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties @@ -31,6 +31,7 @@ observe.config.h2.can.migrate.description=Autoriser la mise à jour des bases lo observe.config.h2.login.description=Le login h2 observe.config.h2.password.description=Le mot de passe h2 observe.config.h2.serverPort.description=Port du serveur h2 +observe.config.httpTimeout.description=Temps maximum en millisecondes pour la tentative d'une connexion http observe.config.importDirectory.description=Répertoire où chercher les imports observe.config.logConfigurationFile.description=Fichier de configuration des logs observe.config.map.background.description=Couleur du fond de carte diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/db/ObserveSwingDataSource.java b/application-swing/src/main/java/fr/ird/observe/application/swing/db/ObserveSwingDataSource.java index ef203d9..4e6d9c4 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/db/ObserveSwingDataSource.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/db/ObserveSwingDataSource.java @@ -152,6 +152,8 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return configuration.getLabel(); } + // Ne pas supprimer utiliser dans des templates + @SuppressWarnings("unused") public boolean isSqlDataSource() { return ObserveDataSourceType.SQL == configuration.getType(); } @@ -355,13 +357,6 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } - public <D extends ReferentialDto> ReferentialReference<D> getReferentialReference(Class<D> type, String id) { - - ReferentialReferenceSet<D> referentialReferenceSet = getReferentialReferenceSet(type); - return referentialReferenceSet.getReferenceById(id); - - } - public boolean isOpen() { return connection != null; } @@ -408,13 +403,6 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements listenerList.remove(ObserveSwingDataSourceListener.class, listener); } - public void removeObserveSwingDataSourceListeners() { - // remove all listeners - for (ObserveSwingDataSourceListener listener : getObserveSwingDataSourceListener()) { - removeObserveSwingDataSourceListener(listener); - } - } - public void fireNewMessage(String message) { fireNewMessage(message, ObserveSwingDataSourceEvent.MessageLevel.INFO); } @@ -458,6 +446,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements speciesListConfiguration.setSpeciesListSeineSchoolEstimateId(config.getSpeciesListSeineSchoolEstimateId()); speciesListConfiguration.setSpeciesListSeineTargetCatchId(config.getSpeciesListSeineTargetCatchId()); boolean showSql = config.isShowSql(); + int httpTimeout = config.getHttpTimeout(); if (showSql && configurationAndConnection.getConfiguration() instanceof ObserveDataSourceConfigurationTopiaSupport) { ObserveDataSourceConfigurationTopiaSupport configuration = (ObserveDataSourceConfigurationTopiaSupport) configurationAndConnection.getConfiguration(); configuration.setTraceSql(true); @@ -465,6 +454,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return ObserveServiceInitializer.create( locale, referentialLocale, + httpTimeout, tmpDirectory, speciesListConfiguration, configurationAndConnection); diff --git a/application-web-configuration/src/main/config/ObserveWebApplication.ini b/application-web-configuration/src/main/config/ObserveWebApplication.ini index 03bfdd6..59e4839 100644 --- a/application-web-configuration/src/main/config/ObserveWebApplication.ini +++ b/application-web-configuration/src/main/config/ObserveWebApplication.ini @@ -97,3 +97,9 @@ type = int defaultValue = 10000 final = true +[option httpTimeout] +description = observeweb.httpTimeout.description +key = observeweb.httpTimeout +type = int +defaultValue = 30000 + diff --git a/application-web-configuration/src/main/resources/i18n/application-web-configuration_en_GB.properties b/application-web-configuration/src/main/resources/i18n/application-web-configuration_en_GB.properties index 951f481..28a044d 100644 --- a/application-web-configuration/src/main/resources/i18n/application-web-configuration_en_GB.properties +++ b/application-web-configuration/src/main/resources/i18n/application-web-configuration_en_GB.properties @@ -8,6 +8,7 @@ observeweb.build.number.description=Build number observeweb.build.version.description=Build version observeweb.databasesConfigurationFile.description=Path to databases configuration file observeweb.devMode.description=Dev mode +observeweb.httpTimeout.description=Http timeout in milli seconds observeweb.log4jConfigurationFile.description=Path to log configuration file observeweb.sessionExpirationDelay.description=Session expiration deplay (in minutes) observeweb.sessionMaximumSize.description=Session maximum size diff --git a/application-web-configuration/src/main/resources/i18n/application-web-configuration_es_ES.properties b/application-web-configuration/src/main/resources/i18n/application-web-configuration_es_ES.properties index 0566366..7589d48 100644 --- a/application-web-configuration/src/main/resources/i18n/application-web-configuration_es_ES.properties +++ b/application-web-configuration/src/main/resources/i18n/application-web-configuration_es_ES.properties @@ -8,6 +8,7 @@ observeweb.build.number.description=Número de construcción observeweb.build.version.description=Versión de construcción observeweb.databasesConfigurationFile.description=Ubicación del archivo de configuración de las bases observeweb.devMode.description=Modo desarollador +observeweb.httpTimeout.description=Temps maximum de tentative de connection http (en millisecondes) \#TODO observeweb.log4jConfigurationFile.description=Ubicación del archivo de configuración de los logs observeweb.sessionExpirationDelay.description=Duración máxima de una sesión (en minutos) observeweb.sessionMaximumSize.description=Tamaño máximo de la sesión diff --git a/application-web-configuration/src/main/resources/i18n/application-web-configuration_fr_FR.properties b/application-web-configuration/src/main/resources/i18n/application-web-configuration_fr_FR.properties index 855a467..2e4b1a9 100644 --- a/application-web-configuration/src/main/resources/i18n/application-web-configuration_fr_FR.properties +++ b/application-web-configuration/src/main/resources/i18n/application-web-configuration_fr_FR.properties @@ -8,6 +8,7 @@ observeweb.build.number.description=Numéro de construction observeweb.build.version.description=Version de construction observeweb.databasesConfigurationFile.description=Chemin vers le fichier de configuration des bases observeweb.devMode.description=Mode développeur +observeweb.httpTimeout.description=Temps maximum de tentative de connection http (en millisecondes) observeweb.log4jConfigurationFile.description=Chemin vers le fichier de configuration des logs observeweb.sessionExpirationDelay.description=Temps maximum d'une session (en minutes) observeweb.sessionMaximumSize.description=Taille maximum de session diff --git a/application-web/src/main/java/fr/ird/observe/application/web/ObserveWebMotionFilter.java b/application-web/src/main/java/fr/ird/observe/application/web/ObserveWebMotionFilter.java index ddb5d95..5867f5c 100644 --- a/application-web/src/main/java/fr/ird/observe/application/web/ObserveWebMotionFilter.java +++ b/application-web/src/main/java/fr/ird/observe/application/web/ObserveWebMotionFilter.java @@ -60,8 +60,8 @@ public class ObserveWebMotionFilter extends WebMotionFilter implements ObserveDa if (Strings.isNullOrEmpty(authenticationToken)) { authenticationToken = null; } - - ObserveWebRequestContext requestContext = new ObserveWebRequestContext(applicationContext, applicationLocale, referentialLocale, speciesListConfiguration, adminApiKey, authenticationToken); + int httpTimeout = applicationContext.getApplicationConfiguration().getHttpTimeout(); + ObserveWebRequestContext requestContext = new ObserveWebRequestContext(applicationContext, applicationLocale, referentialLocale, httpTimeout, speciesListConfiguration, adminApiKey, authenticationToken); ObserveWebRequestContext.setRequestContext(context, requestContext); doProcess(); diff --git a/application-web/src/main/java/fr/ird/observe/application/web/request/ObserveWebRequestContext.java b/application-web/src/main/java/fr/ird/observe/application/web/request/ObserveWebRequestContext.java index 7bb5c06..ef8bbb8 100644 --- a/application-web/src/main/java/fr/ird/observe/application/web/request/ObserveWebRequestContext.java +++ b/application-web/src/main/java/fr/ird/observe/application/web/request/ObserveWebRequestContext.java @@ -62,6 +62,8 @@ public class ObserveWebRequestContext { private final ReferentialLocale referentialLocale; + private final int timeout; + private final ObserveSpeciesListConfiguration speciesListConfiguration; private final String optionalAdminApiKey; @@ -71,12 +73,14 @@ public class ObserveWebRequestContext { public ObserveWebRequestContext(ObserveWebApplicationContext applicationContext, Locale applicationLocale, ReferentialLocale referentialLocale, + int timeout, ObserveSpeciesListConfiguration speciesListConfiguration, String adminApiKey, String authenticationToken) { this.applicationContext = applicationContext; this.applicationLocale = applicationLocale; this.referentialLocale = referentialLocale; + this.timeout = timeout; this.speciesListConfiguration = speciesListConfiguration; this.optionalAdminApiKey = adminApiKey; this.optionalAuthenticationToken = authenticationToken; @@ -91,6 +95,7 @@ public class ObserveWebRequestContext { ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( applicationLocale, referentialLocale, + timeout, applicationContext.getApplicationConfiguration().getTemporaryDirectory(), speciesListConfiguration, dataSourceConfiguration); @@ -103,6 +108,7 @@ public class ObserveWebRequestContext { ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( applicationLocale, referentialLocale, + timeout, applicationContext.getApplicationConfiguration().getTemporaryDirectory(), speciesListConfiguration, configurationAndConnection); diff --git a/services-rest/src/main/java/fr/ird/observe/services/rest/ObserveServiceFactoryRest.java b/services-rest/src/main/java/fr/ird/observe/services/rest/ObserveServiceFactoryRest.java index dcf45af..3970af4 100644 --- a/services-rest/src/main/java/fr/ird/observe/services/rest/ObserveServiceFactoryRest.java +++ b/services-rest/src/main/java/fr/ird/observe/services/rest/ObserveServiceFactoryRest.java @@ -276,20 +276,20 @@ public class ObserveServiceFactoryRest extends ObserveServiceFactorySupport impl protected ObserveRequest createRequest(Method method, String methodName, Object... args) throws IOException { - ObserveRequestBuilder requestBuilder = ObserveRequestBuilder.create(gsonSupplier); + ObserveRequestMethod requestMethod = ObserveRequestMethod.GET; + if (method.isAnnotationPresent(PostRequest.class)) { + requestMethod = ObserveRequestMethod.POST; + } else if (method.isAnnotationPresent(DeleteRequest.class)) { + requestMethod = ObserveRequestMethod.DELETE; + } + + ObserveRequestBuilder requestBuilder = ObserveRequestBuilder + .create(gsonSupplier) + .setRequestMethod(requestMethod) + .setTimeout(observeServiceInitializer.getHttpTimeout()); addParameters(requestBuilder, method, args); addHeaders(requestBuilder); - boolean post = method.isAnnotationPresent(PostRequest.class); - boolean delete = method.isAnnotationPresent(DeleteRequest.class); - if (post) { - requestBuilder.setRequestMethod(ObserveRequestMethod.POST); - } else if (delete) { - requestBuilder.setRequestMethod(ObserveRequestMethod.DELETE); - } else { - requestBuilder.setRequestMethod(ObserveRequestMethod.GET); - } - String serviceUrl = getServiceUrl(); String url = String.format("%s/%s", serviceUrl, methodName); if (log.isDebugEnabled()) { diff --git a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveRequest.java b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveRequest.java index 4f2071f..8c891bb 100644 --- a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveRequest.java +++ b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveRequest.java @@ -49,13 +49,16 @@ public class ObserveRequest { private final ImmutableMap<String, File> files; + private final int timeout; + public ObserveRequest(ObserveRequestMethod requestMethod, String baseUrl, String requestBody, String contentType, ImmutableMap<String, String> header, ImmutableList<NameValuePair> params, - ImmutableMap<String, File> files) { + ImmutableMap<String, File> files, + int timeout) { this.requestMethod = requestMethod; this.baseUrl = baseUrl; this.requestBody = requestBody; @@ -63,6 +66,7 @@ public class ObserveRequest { this.headers = header; this.parameters = params; this.files = files; + this.timeout = timeout; } public ObserveRequestMethod getRequestMethod() { @@ -96,4 +100,8 @@ public class ObserveRequest { public boolean withoutFiles() { return files.isEmpty(); } + + public int getTimeout() { + return timeout; + } } diff --git a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveRequestBuilder.java b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveRequestBuilder.java index 6a1e72d..ecdf166 100644 --- a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveRequestBuilder.java +++ b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveRequestBuilder.java @@ -54,6 +54,7 @@ public class ObserveRequestBuilder { protected String contentType; protected ObserveRequestMethod requestMethod; + protected int timeout = 30 * 1000; // en millisecondes public static ObserveRequestBuilder create(Supplier<Gson> gsonSupplier) { return new ObserveRequestBuilder(gsonSupplier); @@ -71,10 +72,16 @@ public class ObserveRequestBuilder { requestBody, headers.build(), parameters.build(), - files.build() + files.build(), + timeout ); } + public ObserveRequestBuilder setTimeout(int timeout) { + this.timeout = timeout; + return this; + } + public ObserveRequestBuilder setRequestMethod(ObserveRequestMethod requestMethod) { this.requestMethod = requestMethod; return this; diff --git a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponse.java b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponse.java index 5488aca..b2c31f3 100644 --- a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponse.java +++ b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponse.java @@ -91,7 +91,7 @@ public class ObserveResponse<T> { @Override public String toString() { StringBuilder buffer = new StringBuilder(). - append("HTTP ").append(statusCode).append('\n'); + append("HTTP ").append(statusCode).append('\n'); if (headers != null) { for (Header header : headers) { buffer.append('[').append(header.getName()).append("] ").append(header.getValue()).append('\n'); diff --git a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponseBuilder.java b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponseBuilder.java index fe5cbd1..2542299 100644 --- a/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponseBuilder.java +++ b/services-rest/src/main/java/fr/ird/observe/services/rest/http/ObserveResponseBuilder.java @@ -170,7 +170,7 @@ public class ObserveResponseBuilder { responsePair = get0(request); break; case POST: - responsePair = post0(request, null); + responsePair = post0(request); break; case PUT: responsePair = put0(request); @@ -228,7 +228,7 @@ public class ObserveResponseBuilder { String url = buildUrlWithParameters(baseUrl, request.getParameters()); HttpGet getMethod = new HttpGet(url); - + addTimeoutToRequest(getMethod, request.getTimeout()); addHeaders(getMethod, request.getHeaders()); HttpResponse response = executeRequest(getMethod); @@ -241,7 +241,7 @@ public class ObserveResponseBuilder { } - protected Pair<HttpPost, HttpResponse> post0(ObserveRequest request, Integer timeout) throws IOException { + protected Pair<HttpPost, HttpResponse> post0(ObserveRequest request) throws IOException { String baseUrl = request.getBaseUrl(); String contentType = request.getContentType(); @@ -249,16 +249,7 @@ public class ObserveResponseBuilder { HttpPost postMethod = new HttpPost(baseUrl); - if (timeout != null) { - - RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(timeout).build(); - -// HttpParams httpParams = new BasicHttpParams(); -// httpParams.setParameter(CoreConnectionPNames.SO_TIMEOUT, timeout); -// httpParams.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, timeout); - postMethod.setConfig(requestConfig); -// postMethod.setParams(httpParams); - } + addTimeoutToRequest(postMethod, request.getTimeout()); MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create(); @@ -306,7 +297,7 @@ public class ObserveResponseBuilder { HttpPut putMethod = new HttpPut(baseUrl); addHeaders(putMethod, request.getHeaders()); - + addTimeoutToRequest(putMethod, request.getTimeout()); String contentType = request.getContentType(); addParameters(putMethod, contentType, request.getParameters()); addRequestBody(putMethod, contentType, request.getRequestBody()); @@ -328,7 +319,7 @@ public class ObserveResponseBuilder { HttpDelete deleteMethod = new HttpDelete(buildUrlWithParameters(baseUrl, request.getParameters())); addHeaders(deleteMethod, request.getHeaders()); - + addTimeoutToRequest(deleteMethod, request.getTimeout()); HttpResponse response = executeRequest(deleteMethod); if (log.isDebugEnabled()) { @@ -441,20 +432,21 @@ public class ObserveResponseBuilder { HttpResponse response = responsePair.getRight(); - if (response != null && response.getEntity() != null) { - response.getEntity().getContent().close(); - } + try { + if (response != null && response.getEntity() != null) { + response.getEntity().getContent().close(); + } + } finally { - // Release the connection. - httpRequestBase.releaseConnection(); + // Release the connection. + httpRequestBase.releaseConnection(); + + } } public void close() throws IOException { client.close(); -// if (getConnectionManager() != null) { -// getConnectionManager().shutdown(); -// } } @Override @@ -466,15 +458,16 @@ public class ObserveResponseBuilder { super.finalize(); } -// if (getConnectionManager() != null) { -// getConnectionManager().closeExpiredConnections(); -// getConnectionManager().closeIdleConnections(1, TimeUnit.MINUTES); -// } - } -// protected HttpClientConnectionManager getConnectionManager() { -// return client.getConnectionManager(); -// } + protected void addTimeoutToRequest(HttpRequestBase httpRequestBase, int timeout) { + + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(timeout).build(); + if (log.isInfoEnabled()) { + log.info("Add custom timeout: " + timeout); + } + httpRequestBase.setConfig(requestConfig); + + } } diff --git a/services-rest/src/test/java/fr/ird/observe/services/rest/RestTestClassResource.java b/services-rest/src/test/java/fr/ird/observe/services/rest/RestTestClassResource.java index 069b65c..445b32b 100644 --- a/services-rest/src/test/java/fr/ird/observe/services/rest/RestTestClassResource.java +++ b/services-rest/src/test/java/fr/ird/observe/services/rest/RestTestClassResource.java @@ -24,10 +24,10 @@ package fr.ird.observe.services.rest; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.ObserveServiceInitializer; -import fr.ird.observe.services.dto.ObserveSpeciesListConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; -import fr.ird.observe.services.configuration.rest.ObserveDataSourceConfigurationRest; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; +import fr.ird.observe.services.configuration.rest.ObserveDataSourceConfigurationRest; +import fr.ird.observe.services.dto.ObserveSpeciesListConfiguration; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.test.TestClassResourceSupport; import fr.ird.observe.test.spi.DatabaseClassifier; @@ -58,6 +58,7 @@ public class RestTestClassResource extends TestClassResourceSupport { ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( Locale.FRANCE, ReferentialLocale.FR, + 30 * 1000, temporaryDirectoryRoot.toFile(), ObserveSpeciesListConfiguration.newDefaultConfiguration(), dataSourceConfiguration @@ -69,6 +70,7 @@ public class RestTestClassResource extends TestClassResourceSupport { ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( Locale.FRANCE, ReferentialLocale.FR, + 30 * 1000, temporaryDirectoryRoot.toFile(), ObserveSpeciesListConfiguration.newDefaultConfiguration(), dataSourceConnection diff --git a/services-topia/src/test/java/fr/ird/observe/services/topia/TopiaTestClassResource.java b/services-topia/src/test/java/fr/ird/observe/services/topia/TopiaTestClassResource.java index 14979de..23ee569 100644 --- a/services-topia/src/test/java/fr/ird/observe/services/topia/TopiaTestClassResource.java +++ b/services-topia/src/test/java/fr/ird/observe/services/topia/TopiaTestClassResource.java @@ -146,6 +146,7 @@ public class TopiaTestClassResource extends TestClassResourceSupport { ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( Locale.FRANCE, ReferentialLocale.FR, + 30 * 1000, temporaryDirectoryRoot.toFile(), speciesListConfiguration, dataSourceConfiguration @@ -157,6 +158,7 @@ public class TopiaTestClassResource extends TestClassResourceSupport { ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( Locale.FRANCE, ReferentialLocale.FR, + 30 * 1000, temporaryDirectoryRoot.toFile(), speciesListConfiguration, dataSourceConnection diff --git a/services/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java b/services/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java index 0775e34..51e3851 100644 --- a/services/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java +++ b/services/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java @@ -44,6 +44,7 @@ public class ObserveServiceInitializer { public static ObserveServiceInitializer create(Locale applicationLocale, ReferentialLocale referentialLocale, + int httpTimeout, File temporaryDirectoryRoot, ObserveSpeciesListConfiguration speciesListConfiguration, ObserveDataSourceConnection dataSourceConnection) { @@ -51,6 +52,7 @@ public class ObserveServiceInitializer { ObserveServiceInitializer observeServiceInitializer = new ObserveServiceInitializer(); observeServiceInitializer.setApplicationLocale(applicationLocale); observeServiceInitializer.setReferentialLocale(referentialLocale); + observeServiceInitializer.setHttpTimeout(httpTimeout); observeServiceInitializer.setTemporaryDirectoryRoot(temporaryDirectoryRoot); observeServiceInitializer.setSpeciesListConfiguration(speciesListConfiguration); observeServiceInitializer.setDataSourceConfiguration(null); @@ -61,6 +63,7 @@ public class ObserveServiceInitializer { public static ObserveServiceInitializer create(Locale applicationLocale, ReferentialLocale referentialLocale, + int httpTimeout, File temporaryDirectoryRoot, ObserveSpeciesListConfiguration speciesListConfiguration, ObserveDataSourceConfiguration dataSourceConfiguration) { @@ -68,6 +71,7 @@ public class ObserveServiceInitializer { ObserveServiceInitializer observeServiceInitializer = new ObserveServiceInitializer(); observeServiceInitializer.setApplicationLocale(applicationLocale); observeServiceInitializer.setReferentialLocale(referentialLocale); + observeServiceInitializer.setHttpTimeout(httpTimeout); observeServiceInitializer.setTemporaryDirectoryRoot(temporaryDirectoryRoot); observeServiceInitializer.setSpeciesListConfiguration(speciesListConfiguration); observeServiceInitializer.setDataSourceConfiguration(dataSourceConfiguration); @@ -78,6 +82,7 @@ public class ObserveServiceInitializer { public static ObserveServiceInitializer create(Locale applicationLocale, ReferentialLocale referentialLocale, + int httpTimeout, File temporaryDirectoryRoot, ObserveSpeciesListConfiguration speciesListConfiguration, ObserveDataSourceConfigurationAndConnection configurationAndConnection) { @@ -85,6 +90,7 @@ public class ObserveServiceInitializer { ObserveServiceInitializer observeServiceInitializer = new ObserveServiceInitializer(); observeServiceInitializer.setApplicationLocale(applicationLocale); observeServiceInitializer.setReferentialLocale(referentialLocale); + observeServiceInitializer.setHttpTimeout(httpTimeout); observeServiceInitializer.setTemporaryDirectoryRoot(temporaryDirectoryRoot); observeServiceInitializer.setSpeciesListConfiguration(speciesListConfiguration); observeServiceInitializer.setDataSourceConfiguration(null); @@ -101,6 +107,7 @@ public class ObserveServiceInitializer { observeServiceInitializer = create( otherObserveServiceInitializer.getApplicationLocale(), otherObserveServiceInitializer.getReferentialLocale(), + otherObserveServiceInitializer.getHttpTimeout(), otherObserveServiceInitializer.getTemporaryDirectoryRoot(), otherObserveServiceInitializer.getSpeciesListConfiguration(), otherObserveServiceInitializer.getDataSourceConnection()); @@ -108,6 +115,7 @@ public class ObserveServiceInitializer { observeServiceInitializer = create( otherObserveServiceInitializer.getApplicationLocale(), otherObserveServiceInitializer.getReferentialLocale(), + otherObserveServiceInitializer.getHttpTimeout(), otherObserveServiceInitializer.getTemporaryDirectoryRoot(), otherObserveServiceInitializer.getSpeciesListConfiguration(), otherObserveServiceInitializer.getDataSourceConfiguration()); @@ -147,6 +155,13 @@ public class ObserveServiceInitializer { */ private ObserveSpeciesListConfiguration speciesListConfiguration; + /** + * Le temps en millisecondes maximum de tentavie de connection http. + * + * @since 6.0 + */ + private int httpTimeout; + public Locale getApplicationLocale() { return applicationLocale; } @@ -205,4 +220,12 @@ public class ObserveServiceInitializer { protected ObserveServiceInitializer() { } + + public void setHttpTimeout(int httpTimeout) { + this.httpTimeout = httpTimeout; + } + + public int getHttpTimeout() { + return httpTimeout; + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.