branch feature/8124-VerifConfigurationSource updated (e9812b7 -> 004d41d)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8124-VerifConfigurationSource in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git from e9812b7 ne pas créer le repertoire temporaire en lazy. Au demarage ne pas le supprimer mais le vider (see #8124). new 698f559 correction du canMigrate pour le test des connexion (see #8124). new 156d4f3 Pour le serveur, ajout du controller pour le service SqlScriptProducerService et d' l'injecteur pour SqlScripProducerRequest (see #8124). new 004d41d correction car DateFormat n'est pas thread Safe (see #8124). The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: 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). commit 156d4f352a35e730a3b10a043e84f7ea779ae553 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 16 10:35:37 2016 +0100 Pour le serveur, ajout du controller pour le service SqlScriptProducerService et d' l'injecteur pour SqlScripProducerRequest (see #8124). commit 698f5594ca06a16016d522c577da9f4ffbc4967b Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 16 10:05:18 2016 +0100 correction du canMigrate pour le test des connexion (see #8124). Summary of changes: .../fr/ird/observe/ui/storage/StorageUIModel.java | 7 ++++-- .../web/ObserveWebApplicationListener.java | 4 +++- .../v1/SqlScriptProducerServiceController.java | 20 +++++++++++++++++ .../application/web/injector/DateInjector.java | 11 +++++---- ....java => SqlScriptProducerRequestInjector.java} | 26 ++++++++++++---------- ...bserveDataSourceConfigurationRestConstants.java | 5 +---- .../services/ObserveServiceFactoryRest.java | 5 ++++- 7 files changed, 54 insertions(+), 24 deletions(-) create mode 100644 observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/SqlScriptProducerServiceController.java copy observe-application-web/src/main/java/fr/ird/observe/application/web/injector/{ObserveReferenceSetRequestInjector.java => SqlScriptProducerRequestInjector.java} (57%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
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 698f5594ca06a16016d522c577da9f4ffbc4967b Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 16 10:05:18 2016 +0100 correction du canMigrate pour le test des connexion (see #8124). --- .../src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java index db85de9..3b416c4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java @@ -1132,9 +1132,12 @@ public class StorageUIModel extends WizardModel<StorageStep> { if (dbMode != null) { switch (dbMode) { case USE_LOCAL: - case CREATE_LOCAL: result = true; break; + case CREATE_LOCAL: + // en cration de base local on autorise les migration uniquement pour les imports de dump + result = CreationMode.IMPORT_EXTERNAL_DUMP.equals(creationMode) || CreationMode.IMPORT_INTERNAL_DUMP.equals(creationMode); + break; case USE_REMOTE: case USE_SERVER: result = ObstunaAdminAction.UPDATE.equals(adminAction); @@ -1761,7 +1764,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { Version versionDataSource = dataSourceInformation.getVersion(); // en mise a jour de la base on ne test pas la version - if (getModelVersion().equals(versionDataSource) || isCanMigrate() || ObstunaAdminAction.CREATE.equals(adminAction)) { + if (getModelVersion().equals(versionDataSource) || isCanMigrate() || ObstunaAdminAction.CREATE.equals(adminAction)) { setConnexionStatus(ConnexionStatus.SUCCESS); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
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 156d4f352a35e730a3b10a043e84f7ea779ae553 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 16 10:35:37 2016 +0100 Pour le serveur, ajout du controller pour le service SqlScriptProducerService et d' l'injecteur pour SqlScripProducerRequest (see #8124). --- .../web/ObserveWebApplicationListener.java | 2 + .../v1/SqlScriptProducerServiceController.java | 20 ++++++++ .../injector/SqlScriptProducerRequestInjector.java | 53 ++++++++++++++++++++++ 3 files changed, 75 insertions(+) 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 0ce1488..7b454d3 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 @@ -29,6 +29,7 @@ import fr.ird.observe.application.web.injector.ObserveClassInjector; import fr.ird.observe.application.web.injector.ObserveDataSourceConfigurationInjector; import fr.ird.observe.application.web.injector.ObserveDtoInjector; import fr.ird.observe.application.web.injector.ObserveReferenceSetRequestInjector; +import fr.ird.observe.application.web.injector.SqlScriptProducerRequestInjector; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRestConstants; import fr.ird.observe.services.dto.ObserveDbUserDto; import org.apache.commons.logging.Log; @@ -67,6 +68,7 @@ public class ObserveWebApplicationListener implements WebMotionServerListener { context.addInjector(new ObserveDtoInjector(gson)); context.addInjector(new ObserveReferenceSetRequestInjector(gson)); context.addInjector(new DateInjector(ObserveDataSourceConfigurationRestConstants.DATE_FORMAT)); + context.addInjector(new SqlScriptProducerRequestInjector(gson)); context.addConverter(new ObserveDtoConverter(gson), ObserveDbUserDto.class); context.getServletContext().setAttribute( diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/SqlScriptProducerServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/SqlScriptProducerServiceController.java new file mode 100644 index 0000000..ab33c4c --- /dev/null +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/SqlScriptProducerServiceController.java @@ -0,0 +1,20 @@ +package fr.ird.observe.application.web.controller.v1; + +import fr.ird.observe.services.service.SqlScriptProducerRequest; +import fr.ird.observe.services.service.SqlScriptProducerService; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SqlScriptProducerServiceController extends ObserveAuthenticatedServiceControllerSupport<SqlScriptProducerService> implements SqlScriptProducerService { + + public SqlScriptProducerServiceController() { + super(SqlScriptProducerService.class); + } + + @Override + public byte[] produceSqlScript(SqlScriptProducerRequest request) { + return service.produceSqlScript(request); + } + +} diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/SqlScriptProducerRequestInjector.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/SqlScriptProducerRequestInjector.java new file mode 100644 index 0000000..03a5eeb --- /dev/null +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/SqlScriptProducerRequestInjector.java @@ -0,0 +1,53 @@ +package fr.ird.observe.application.web.injector; + +import com.google.common.base.Preconditions; +import com.google.gson.Gson; +import fr.ird.observe.services.service.SqlScriptProducerRequest; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.debux.webmotion.server.call.Call; +import org.debux.webmotion.server.handler.ExecutorParametersInjectorHandler; +import org.debux.webmotion.server.mapping.Mapping; + +import java.lang.reflect.Type; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class SqlScriptProducerRequestInjector implements ExecutorParametersInjectorHandler.Injector { + + /** Logger. */ + private static final Log log = LogFactory.getLog(SqlScriptProducerRequestInjector.class); + + protected final Gson gson; + + public SqlScriptProducerRequestInjector(Gson gson) { + this.gson = gson; + } + + @Override + public Object getValue(Mapping mapping, Call call, String name, Class<?> type, Type generic) { + + SqlScriptProducerRequest sqlScriptProducerRequest = null; + + if (type.equals(SqlScriptProducerRequest.class)) { + + Call.ParameterTree parameterTree = call.getParameterTree().getObject().get(name); + + Preconditions.checkNotNull(parameterTree, "Le paramètre " + name + " n'as pas été trouvé, recompiler (parameter)!"); + + String gsonContent = ((String[]) parameterTree.getValue())[0]; + + sqlScriptProducerRequest = gson.fromJson(gsonContent, SqlScriptProducerRequest.class); + + if (log.isInfoEnabled()) { + log.info("Inject sqlScriptProducerRequest: " + sqlScriptProducerRequest); + } + + } + + return sqlScriptProducerRequest; + + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
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>.
participants (1)
-
codelutin.com scm