branch feature/8124-VerifConfigurationSource updated (004d41d -> 0b0d2c3)
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 discards 004d41d correction car DateFormat n'est pas thread Safe (see #8124). discards 156d4f3 Pour le serveur, ajout du controller pour le service SqlScriptProducerService et d' l'injecteur pour SqlScripProducerRequest (see #8124). discards 698f559 correction du canMigrate pour le test des connexion (see #8124). discards e9812b7 ne pas créer le repertoire temporaire en lazy. Au demarage ne pas le supprimer mais le vider (see #8124). discards 02829f5 créer le repertoire temporaire si il n'existe pas (see #8124). discards 82d103c dans le service de generation des Dump de base de donnée, n'exposer qu'une methode générique (see #8124). discards e0668af Ajout d'un migration pour supprimer la colonne "unit" de la table "observe_common.gearcaracteristictype" (see #8137). discards 3ebbf63 Le tableau des types des propriété n'est plus dans l'objet ReferenceDto (see #8124). discards 932fcf2 utilisé le même format pour les dates pour la contruction de la requêt coté client et son interprétation coté serveur(see #8124). discards 0cdb2e9 La cause de l'exception remontée ne peut pas être changée (see #8124). discards 64ecde5 correction du toString si dataIds est null (see #8124). discards 6d54695 correction du package principal pour les services (see #8124). discards d0a63e4 A l'utilisation d'un source distante, autoriser le mode serveur en plus du mode base distante (see #8124). adds 4c9c319 Ajout de trace dans les appels des services (see #7615). adds 15a0068 Utiliser le decorateur définit pour le type en paramétre (et non le type de ce type) (see #7615). adds 5379267 - Charger les références dans le modél principal et le sous modél du détail avançon - Correction de la synchronisation des sections du tableau sur le bean du model (see #7615). adds b10c89d Fixes #7615 Merge branch 'feature/7615-LL-VerifEcranSchemaPalangre' into develop adds d5cdc85 Ajout de trace dans les appels des services, revoie dans le dto des données de position sur la ligne (see #7617). adds 6d80b3f correction du binding des TDR (see #7617). adds eca8036 Ajouter du filtre sur les espèces (see #7617). adds 5fde3ce Fixes #7617 Merge branch 'feature/7617-LL-VerifEnregistreursDeProfondeur' into develop new fa80607 A l'utilisation d'un source distante, autoriser le mode serveur en plus du mode base distante (see #8124). new f6b0c36 correction du package principal pour les services (see #8124). new f485e0f correction du toString si dataIds est null (see #8124). new c1fae73 La cause de l'exception remontée ne peut pas être changée (see #8124). new a313cd4 utilisé le même format pour les dates pour la contruction de la requêt coté client et son interprétation coté serveur(see #8124). new 30cfea7 Le tableau des types des propriété n'est plus dans l'objet ReferenceDto (see #8124). new 8fd3f8a Ajout d'un migration pour supprimer la colonne "unit" de la table "observe_common.gearcaracteristictype" (see #8137). new 7b833be dans le service de generation des Dump de base de donnée, n'exposer qu'une methode générique (see #8124). new c171c8f créer le repertoire temporaire si il n'existe pas (see #8124). new 5a41d55 ne pas créer le repertoire temporaire en lazy. Au demarage ne pas le supprimer mais le vider (see #8124). new 6b65ebd correction du canMigrate pour le test des connexion (see #8124). new 0b5cf23 Pour le serveur, ajout du controller pour le service SqlScriptProducerService et d' l'injecteur pour SqlScripProducerRequest (see #8124). new 0b0d2c3 correction car DateFormat n'est pas thread Safe (see #8124). This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (004d41d) \ N -- N -- N refs/heads/feature/8124-VerifConfigurationSource (0b0d2c3) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 13 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 0b0d2c33e8a8f0a511bf54ee93ff2068f5776b07 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 0b5cf23352f03844357d57ade906a648d31e7d65 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 6b65ebdd53468abae8ddec8c0c4b4daa434662af 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). commit 5a41d5578290cacaa779c417510bcb7790e999df Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 16 09:08:52 2016 +0100 ne pas créer le repertoire temporaire en lazy. Au demarage ne pas le supprimer mais le vider (see #8124). commit c171c8f08c9dfa8eec81da47cbd89308f0049ffa Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 17:49:32 2016 +0100 créer le repertoire temporaire si il n'existe pas (see #8124). commit 7b833be90de5daafcc2a9f17013ebe797a2eac18 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 17:46:57 2016 +0100 dans le service de generation des Dump de base de donnée, n'exposer qu'une methode générique (see #8124). commit 8fd3f8a7263bcfb84bd8488cd28f36798f47d214 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 17:44:06 2016 +0100 Ajout d'un migration pour supprimer la colonne "unit" de la table "observe_common.gearcaracteristictype" (see #8137). commit 30cfea7f131091242fc8be4c121546f39a63acb9 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 12:21:11 2016 +0100 Le tableau des types des propriété n'est plus dans l'objet ReferenceDto (see #8124). commit a313cd471a5cf463724ac6368f881ba5b0c637db Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 12:15:56 2016 +0100 utilisé le même format pour les dates pour la contruction de la requêt coté client et son interprétation coté serveur(see #8124). commit c1fae735fa7ed3fd6b7354b3cc3ce0be164cc192 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 08:18:17 2016 +0100 La cause de l'exception remontée ne peut pas être changée (see #8124). commit f485e0f9668ede895ce82665c808a7131770272a Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 14 17:47:37 2016 +0100 correction du toString si dataIds est null (see #8124). commit f6b0c36033f845ba49ab976ce06bd760c45e6a7d Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 14 17:42:19 2016 +0100 correction du package principal pour les services (see #8124). commit fa806070ecb534565d48559c80cc4105144051e9 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 14 17:40:29 2016 +0100 A l'utilisation d'un source distante, autoriser le mode serveur en plus du mode base distante (see #8124). Summary of changes: .../src/main/java/fr/ird/observe/ui/UIHelper.java | 4 +- .../LonglineDetailCompositionUIHandler.java | 15 ++- .../impl/longline/CatchLonglineUIHandler.java | 4 +- .../impl/longline/LonglinePositionHelper.java | 11 +- .../content/table/impl/longline/TdrUIHandler.java | 48 ++++++-- .../dto/longline/LonglinePositionSetDto.java | 77 ++++++++++++ .../xmi/observe-services-dto-longline.properties | 4 + .../main/xmi/observe-services-dto-longline.zargo | Bin 64556 -> 66083 bytes .../binder/data/SetLonglineTdrDtoBinder.java | 4 + .../longline/LonglinePositionSetDtoHelper.java | 132 +++++++++++++++++++++ .../longline/SetLonglineCatchServiceTopia.java | 98 +-------------- .../SetLonglineDetailCompositionServiceTopia.java | 19 +++ .../services/service/longline/TdrServiceTopia.java | 62 +++------- 13 files changed, 316 insertions(+), 162 deletions(-) create mode 100644 observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/LonglinePositionSetDto.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/LonglinePositionSetDtoHelper.java -- 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 fa806070ecb534565d48559c80cc4105144051e9 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 14 17:40:29 2016 +0100 A l'utilisation d'un source distante, autoriser le mode serveur en plus du mode base distante (see #8124). --- .../observe/ObserveSwingApplicationContext.java | 15 +++++++------- .../observe/ui/actions/ChangeStorageAction.java | 13 +++++++----- .../ird/observe/ui/storage/StorageUILauncher.java | 23 ++++++++++++---------- 3 files changed, 29 insertions(+), 22 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java index e523539..636449c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java @@ -100,8 +100,10 @@ import java.io.Closeable; import java.io.File; import java.io.IOException; import java.util.Arrays; +import java.util.EnumSet; import java.util.List; import java.util.Locale; +import java.util.Set; import java.util.UUID; import static org.nuiton.i18n.I18n.n; @@ -663,24 +665,23 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im log.debug("response : " + reponse); } - DbMode dbMode = null; + Set<DbMode> dbModes = EnumSet.noneOf(DbMode.class); String title = null; if (reponse != JOptionPane.CLOSED_OPTION && reponse < 2) { if (reponse == 1) { // creation de la base locale - dbMode = DbMode.CREATE_LOCAL; + dbModes.add(DbMode.CREATE_LOCAL); title = n("observe.title.create.local.db"); } else { // connexion à une base distante - dbMode = DbMode.USE_REMOTE; + dbModes.add(DbMode.USE_REMOTE); + dbModes.add(DbMode.USE_SERVER); title = n("observe.title.load.remote.db"); } } - if (dbMode != null) { -// uiHandler.launchChangeStorage(getObserveMainUI(), dbMode, title); - - new ChangeStorageAction(getObserveMainUI(), dbMode, title).run(); + if (! dbModes.isEmpty()) { + new ChangeStorageAction(getObserveMainUI(), dbModes, title).run(); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ChangeStorageAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ChangeStorageAction.java index 7e9a1d7..8a57573 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ChangeStorageAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ChangeStorageAction.java @@ -32,6 +32,9 @@ import org.apache.commons.logging.LogFactory; import javax.swing.AbstractAction; import java.awt.event.ActionEvent; +import java.util.EnumSet; +import java.util.Set; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.t; @@ -51,7 +54,7 @@ public class ChangeStorageAction extends AbstractAction { private final ObserveMainUI ui; - private final DbMode dbMode; + private final Set<DbMode> dbModes; private final String title; @@ -59,11 +62,11 @@ public class ChangeStorageAction extends AbstractAction { this(ui, null, null); } - public ChangeStorageAction(ObserveMainUI ui, DbMode dbMode, String title) { + public ChangeStorageAction(ObserveMainUI ui, Set<DbMode> dbModes, String title) { super(t("observe.action.change.storage"), SwingUtil.getUIManagerActionIcon("db-change")); this.ui = ui; - this.dbMode = dbMode; + this.dbModes = dbModes == null ? EnumSet.noneOf(DbMode.class) : dbModes; this.title = title; putValue(SHORT_DESCRIPTION, t("observe.action.change.storage.tip")); putValue(MNEMONIC_KEY, (int) 'C'); @@ -83,10 +86,10 @@ public class ChangeStorageAction extends AbstractAction { if (canContinue) { if (log.isInfoEnabled()) { - log.info("Start change storage with dbMode: " + dbMode); + log.info("Start change storage with dbMode: " + dbModes.stream().map(DbMode::name).collect(Collectors.joining(", "))); } - StorageUILauncher.changeStorage(ui, ui, dbMode, t(title)); + StorageUILauncher.changeStorage(ui, ui, dbModes, t(title)); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUILauncher.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUILauncher.java index 9e844ea..4e13da8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUILauncher.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUILauncher.java @@ -31,11 +31,14 @@ import jaxx.runtime.JAXXObject; import jaxx.runtime.swing.wizard.BusyChangeListener; import jaxx.runtime.swing.wizard.WizardModel; import jaxx.runtime.swing.wizard.WizardUILancher; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.awt.Window; import java.util.Arrays; +import java.util.Set; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.t; @@ -126,14 +129,14 @@ public class StorageUILauncher extends WizardUILancher<StorageStep, StorageUIMod * * @param rootContext le context applicatif * @param mainUI main ui - * @param mode le mode optionnel à utiliser + * @param modes les modes optionnel à utiliser * @param title le titre de la fenetre * @see StorageUIHandler * @see StorageUI */ public static void changeStorage(final JAXXContext rootContext, final Window mainUI, - final DbMode mode, + final Set<DbMode> modes, final String title) { new StorageUILauncher(rootContext, mainUI, title) { @@ -142,12 +145,12 @@ public class StorageUILauncher extends WizardUILancher<StorageStep, StorageUIMod protected void init(StorageUI ui) { super.init(ui); if (log.isDebugEnabled()) { - log.debug("Incoming dbmode : " + mode); + log.debug("Incoming dbmode : " + modes.stream().map(DbMode::name).collect(Collectors.joining(", "))); } StorageUIModel model = ui.getModel(); - if (mode != null) { + if (CollectionUtils.isNotEmpty(modes)) { if (log.isInfoEnabled()) { - log.info("will use incoming mode " + mode); + log.info("will use incoming mode " + modes.stream().map(DbMode::name).collect(Collectors.joining(", "))); } model.setExcludeSteps( @@ -157,13 +160,13 @@ public class StorageUILauncher extends WizardUILancher<StorageStep, StorageUIMod StorageStep.CONFIG_DATA, StorageStep.ROLES) ); - model.setCanCreateLocalService(DbMode.CREATE_LOCAL.equals(mode)); - model.setCanUseLocalService(DbMode.USE_LOCAL.equals(mode)); - model.setCanUseRemoteService(DbMode.USE_REMOTE.equals(mode)); - model.setCanUseServerService(DbMode.USE_SERVER.equals(mode)); + model.setCanCreateLocalService(modes.contains(DbMode.CREATE_LOCAL)); + model.setCanUseLocalService(modes.contains(DbMode.USE_LOCAL)); + model.setCanUseRemoteService(modes.contains(DbMode.USE_REMOTE)); + model.setCanUseServerService(modes.contains(DbMode.USE_SERVER)); model.updateUniverse(); - model.setDbMode(mode); + model.setDbMode(modes.stream().findFirst().get()); } else { ObserveSwingApplicationConfig config = -- 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 f6b0c36033f845ba49ab976ce06bd760c45e6a7d Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 14 17:42:19 2016 +0100 correction du package principal pour les services (see #8124). --- .../configuration/ObserveDataSourceConfigurationRestConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 5e83140..2a049a7 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 @@ -29,7 +29,7 @@ package fr.ird.observe.services.configuration; */ public interface ObserveDataSourceConfigurationRestConstants { - Package ROOT_SERVICES_PACKAGE = ObserveDataSourceConfigurationRestConstants.class.getPackage(); + Package ROOT_SERVICES_PACKAGE = Package.getPackage("fr.ird.observe.services.service"); String PARAMETER_DATA_SOURCE_CONFIGURATION = "dataSourceConfiguration"; -- 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 f485e0f9668ede895ce82665c808a7131770272a Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Mar 14 17:47:37 2016 +0100 correction du toString si dataIds est null (see #8124). --- .../fr/ird/observe/services/service/SqlScriptProducerRequest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java index 7603092..395f2d4 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java @@ -1,9 +1,10 @@ package fr.ird.observe.services.service; -import com.google.common.base.Joiner; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableSet; +import java.util.stream.Collectors; + /** * Created on 31/12/15. * @@ -81,7 +82,7 @@ public class SqlScriptProducerRequest { .add("addSchema", addSchema) .add("addReferential", addReferential) .add("addData", addData) - .add("dataIds", "[" + Joiner.on(", ").join(dataIds) + "]") + .add("dataIds", dataIds == null ? "" : "[" + dataIds.stream().collect(Collectors.joining(", ")) + "]") .toString(); } } -- 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 c1fae735fa7ed3fd6b7354b3cc3ce0be164cc192 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 08:18:17 2016 +0100 La cause de l'exception remontée ne peut pas être changée (see #8124). --- .../application/web/controller/v1/ObserveWebErrorController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ObserveWebErrorController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ObserveWebErrorController.java index 67cd792..b9beb52 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ObserveWebErrorController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ObserveWebErrorController.java @@ -89,7 +89,9 @@ public class ObserveWebErrorController extends WebMotionController { } exception.setStackTrace(stackTraceElements.toArray(new StackTraceElement[stackTraceElements.size()])); - exception.initCause(null); + + // FIXME sbavencoff 15/03/2016 si la cause est déjà initialisé il n'est pas possible de la changer + //exception.initCause(null); message = exception.getMessage(); -- 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 a313cd471a5cf463724ac6368f881ba5b0c637db Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 12:15:56 2016 +0100 utilisé le même format pour les dates pour la contruction de la requêt coté client et son interprétation coté serveur(see #8124). --- .../web/ObserveWebApplicationListener.java | 3 ++ .../application/web/injector/DateInjector.java | 52 ++++++++++++++++++++++ ...bserveDataSourceConfigurationRestConstants.java | 5 +++ .../services/ObserveServiceFactoryRest.java | 5 ++- 4 files changed, 64 insertions(+), 1 deletion(-) 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 7e7e0fd..0ce1488 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 @@ -24,10 +24,12 @@ package fr.ird.observe.application.web; import com.google.gson.Gson; import fr.ird.observe.application.web.converter.ObserveDtoConverter; +import fr.ird.observe.application.web.injector.DateInjector; 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.services.configuration.ObserveDataSourceConfigurationRestConstants; import fr.ird.observe.services.dto.ObserveDbUserDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -64,6 +66,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.addConverter(new ObserveDtoConverter(gson), ObserveDbUserDto.class); context.getServletContext().setAttribute( 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 new file mode 100644 index 0000000..ae741aa --- /dev/null +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/DateInjector.java @@ -0,0 +1,52 @@ +package fr.ird.observe.application.web.injector; + +import com.google.gson.JsonParseException; +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; +import java.text.DateFormat; +import java.text.ParseException; +import java.util.Date; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class DateInjector implements ExecutorParametersInjectorHandler.Injector{ + + private static final Log log = LogFactory.getLog(DateInjector.class); + + protected DateFormat dateFormat; + + public DateInjector(DateFormat dateFormat) { + this.dateFormat = dateFormat; + } + + @Override + public Object getValue(Mapping mapping, Call call, String name, Class<?> type, Type generic) { + Date result = null; + + if (type.equals(Date.class)) { + + Call.ParameterTree parameterTree = call.getParameterTree().getObject().get(name); + + if (parameterTree != null) { + String dateString = ((String[]) parameterTree.getValue())[0]; + try { + result = dateFormat.parse(dateString); + } catch (ParseException e) { + if (log.isErrorEnabled()) { + log.error("An exception occurred", e); + } + throw new JsonParseException("no parse to date from " + dateString, e); + } + } + + } + + return result; + } +} 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 2a049a7..fed7969 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,6 +22,9 @@ package fr.ird.observe.services.configuration; * #L% */ +import java.text.DateFormat; +import java.text.SimpleDateFormat; + /** * Created on 04/09/15. * @@ -43,4 +46,6 @@ public interface ObserveDataSourceConfigurationRestConstants { String REQUEST_ADMIN_API_KEY = "adminApiKey"; + DateFormat DATE_FORMAT = new SimpleDateFormat("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 a695ff0..3c76716 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 @@ -53,6 +53,7 @@ import java.io.IOException; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.util.Collection; +import java.util.Date; /** * Created on 16/08/15. @@ -323,7 +324,9 @@ public class ObserveServiceFactoryRest extends ObserveServiceFactorySupport impl requestBuilder.addParameter(name, (String) value); // Make sure String is not converted to JSON } else if (value != null && value instanceof Collection) { requestBuilder.addParameter(name, (Collection) value); // Make sure List is not converted to JSON - } else { + } else if (value != null && value instanceof Date) { + requestBuilder.addParameter(name, DATE_FORMAT.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>.
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 30cfea7f131091242fc8be4c121546f39a63acb9 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 12:21:11 2016 +0100 Le tableau des types des propriété n'est plus dans l'objet ReferenceDto (see #8124). --- .../services/dto/gson/reference/AbstractReferenceAdapter.java | 5 ++--- .../observe/services/dto/gson/reference/DataReferenceAdapter.java | 4 ++-- .../services/dto/gson/reference/ReferentialReferenceAdapter.java | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceAdapter.java index 50f6484..7a8342b 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceAdapter.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceAdapter.java @@ -74,7 +74,6 @@ public abstract class AbstractReferenceAdapter<D extends IdDto, R extends Abstra for (int i = 0; i < propertiesSize; i++) { - String name = propertyNames[i]; Class type = propertyTypes[i]; JsonElement jsonValue = jsonPropertyValues.get(i); Serializable value = context.deserialize(jsonValue, type); @@ -82,7 +81,7 @@ public abstract class AbstractReferenceAdapter<D extends IdDto, R extends Abstra } - R reference = newReference(dtoType, propertyNames, propertyTypes, propertyValues); + R reference = newReference(dtoType, propertyNames, propertyValues); String id = context.deserialize(jsonObject.get(AbstractReference.PROPERTY_ID), String.class); reference.setId(id); @@ -126,6 +125,6 @@ public abstract class AbstractReferenceAdapter<D extends IdDto, R extends Abstra protected abstract ReferenceSetDefinition<D> getDefinition(Class<D> dtoType); - protected abstract R newReference(Class<D> dtoType, String[] propertyNames, Class<?>[] propertyTypes, Serializable... propertyValues); + protected abstract R newReference(Class<D> dtoType, String[] propertyNames, Serializable... propertyValues); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceAdapter.java index 9f673b6..de76aaa 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceAdapter.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceAdapter.java @@ -40,9 +40,9 @@ public class DataReferenceAdapter<D extends DataDto> extends AbstractReferenceAd } @Override - protected DataReference<D> newReference(Class<D> dtoType, String[] propertyNames, Class<?>[] propertyTypes, Serializable... propertyValues) { + protected DataReference<D> newReference(Class<D> dtoType, String[] propertyNames, Serializable... propertyValues) { DataReference<D> reference = new DataReference<>(); - reference.init(dtoType, propertyNames, propertyTypes, propertyValues); + reference.init(dtoType, propertyNames, propertyValues); return reference; } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceAdapter.java index 5360207..4af234d 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceAdapter.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceAdapter.java @@ -91,9 +91,9 @@ public class ReferentialReferenceAdapter<D extends ReferentialDto> extends Abstr } @Override - protected ReferentialReference<D> newReference(Class<D> dtoType, String[] propertyNames, Class<?>[] propertyTypes, Serializable... propertyValues) { + protected ReferentialReference<D> newReference(Class<D> dtoType, String[] propertyNames, Serializable... propertyValues) { ReferentialReference<D> reference = new ReferentialReference<>(); - reference.init(dtoType, propertyNames, propertyTypes, propertyValues); + reference.init(dtoType, propertyNames, propertyValues); return reference; } -- 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 8fd3f8a7263bcfb84bd8488cd28f36798f47d214 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 17:44:06 2016 +0100 Ajout d'un migration pour supprimer la colonne "unit" de la table "observe_common.gearcaracteristictype" (see #8137). --- .../migration/AbstractDataSourceMigration.java | 3 +- .../DataSourceMigrationForVersion_4_903.java | 72 ++++++++++++++++++++++ .../migration/V4_903_01_remove_unit_field-H2.sql | 1 + .../migration/V4_903_01_remove_unit_field-PG.sql | 1 + .../java/fr/ird/observe/test/ObserveFixtures.java | 2 +- pom.xml | 2 +- 6 files changed, 78 insertions(+), 3 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java index 7f5840c..c78e41c 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java @@ -72,6 +72,7 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version V_4_900 = Versions.valueOf("4.900"); public static final Version V_4_901 = Versions.valueOf("4.901"); public static final Version V_4_902 = Versions.valueOf("4.902"); + public static final Version V_4_903 = Versions.valueOf("4.903"); // FIXME A utiliser en version final 5.0 public static final Version V_5_0 = Versions.valueOf("5.0"); @@ -82,7 +83,7 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version[] availableVersions = new Version[]{ V_3_1, V_3_5, V_3_7, V_3_8, V_3_9, V_3_10, V_3_11, V_3_12, V_3_14, V_3_15, V_3_16, V_4_0_RC2, V_4_0_RC3, V_4_0_RC4, V_4_0_RC6, V_4_0_RC7, V_4_0, V_4_0_1, V_4_0_2, V_4_0_4, - V_4_900, V_4_901, V_4_902 + V_4_900, V_4_901, V_4_902, V_4_903 // FIXME A utiliser en version final 5.0 //V_5_0 diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_903.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_903.java new file mode 100644 index 0000000..08b2cff --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_903.java @@ -0,0 +1,72 @@ +package fr.ird.observe.entities.migration.versions; + +/* + * #%L + * ObServe :: Entities + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.PGDataSourceMigration; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; + +import java.util.List; + +/** + * Created on 25/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataSourceMigrationForVersion_4_903 extends AbstractObserveMigrationCallBack { + + public DataSourceMigrationForVersion_4_903(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(AbstractDataSourceMigration.V_4_903, callBack, scriptSuffix); + } + + @Override + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, + List<String> queries, + boolean showSql, + boolean showProgression) { + + // Ajout de la table lastUpdateDate + // See https://forge.codelutin.com/issues/7470 + addScript("01", "remove_unit_field", queries); + + } + + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_903 { + + public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, H2DataSourceMigration.TYPE); + } + + } + + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_903 { + + public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, PGDataSourceMigration.TYPE); + } + + } + +} diff --git a/observe-entities/src/main/resources/db/migration/V4_903_01_remove_unit_field-H2.sql b/observe-entities/src/main/resources/db/migration/V4_903_01_remove_unit_field-H2.sql new file mode 100644 index 0000000..d8aa647 --- /dev/null +++ b/observe-entities/src/main/resources/db/migration/V4_903_01_remove_unit_field-H2.sql @@ -0,0 +1 @@ +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE DROP COLUMN IF EXISTS UNIT; \ No newline at end of file diff --git a/observe-entities/src/main/resources/db/migration/V4_903_01_remove_unit_field-PG.sql b/observe-entities/src/main/resources/db/migration/V4_903_01_remove_unit_field-PG.sql new file mode 100644 index 0000000..d8aa647 --- /dev/null +++ b/observe-entities/src/main/resources/db/migration/V4_903_01_remove_unit_field-PG.sql @@ -0,0 +1 @@ +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE DROP COLUMN IF EXISTS UNIT; \ No newline at end of file diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java b/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java index 3bb709f..e4ad683 100644 --- a/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java +++ b/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java @@ -16,7 +16,7 @@ public class ObserveFixtures { public static final String PREVIOUS_DEFAULT_VERSION = "4.0.1"; - public static final String DEFAULT_VERSION = "4.902"; + public static final String DEFAULT_VERSION = "4.903"; public static final String TRIP_SEINE_ID_1 = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; diff --git a/pom.xml b/pom.xml index 4e85526..be0aba9 100644 --- a/pom.xml +++ b/pom.xml @@ -150,7 +150,7 @@ <devMode>true</devMode> <!--Modèle version--> - <observe.model.version>4.902</observe.model.version> + <observe.model.version>4.903</observe.model.version> </properties> -- 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 7b833be90de5daafcc2a9f17013ebe797a2eac18 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 17:46:57 2016 +0100 dans le service de generation des Dump de base de donnée, n'exposer qu'une methode générique (see #8124). --- .../fr/ird/observe/ui/admin/AdminTabUIHandler.java | 4 +- .../observe/ui/admin/save/SaveLocalUIHandler.java | 3 +- .../ird/observe/ui/storage/StorageUIHandler.java | 6 ++- .../fr/ird/observe/ui/storage/StorageUIModel.java | 5 +- .../services/service/SqlScriptProducerService.java | 13 ----- .../services/service/DataSourceServiceTopia.java | 9 ++-- .../service/SqlScriptProducerServiceTopia.java | 61 ---------------------- .../services/service/MigrateTestsDatabases.java | 15 ++++-- 8 files changed, 29 insertions(+), 87 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java index 9c2a7fa..324c508 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java @@ -30,6 +30,7 @@ import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; +import fr.ird.observe.services.service.SqlScriptProducerRequest; import fr.ird.observe.services.service.SqlScriptProducerService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.admin.config.SelectDataUI; @@ -129,7 +130,8 @@ public class AdminTabUIHandler { // on replique les données specifiees ImmutableSet<String> dataIds = ImmutableSet.<String>copyOf(tripIds); - byte[] dataDump = sqlScriptProducerService.getDataDump(dataIds); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addDataIds(dataIds); + byte[] dataDump = sqlScriptProducerService.produceSqlScript(request); source.close(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java index 6bef01e..18219c1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java @@ -162,7 +162,8 @@ public class SaveLocalUIHandler extends AdminTabUIHandler { File backupFile = stepModel.getBackupFile(); SqlScriptProducerService dumpService = source.newSqlScriptProducerService(); - byte[] dump = dumpService.getAllDataDump(); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addAllData(); + byte[] dump = dumpService.produceSqlScript(request); try (FileOutputStream outputStream = new FileOutputStream(backupFile)) { IOUtils.write(dump, outputStream); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java index 4856d7a..69808fd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java @@ -612,7 +612,8 @@ public class StorageUIHandler { log.debug(dst); } - byte[] dataDump = dumpProducerService.getAllDataDump(); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addAllData(); + byte[] dataDump = dumpProducerService.produceSqlScript(request); try (FileOutputStream outputStream = new FileOutputStream(dst)) { @@ -667,7 +668,8 @@ public class StorageUIHandler { ImmutableSet<String> tripIds = ImmutableSet.copyOf(Iterables.transform(trips, DataReference.getIdFunction())); - byte[] dump = dumpService.getDataDump(tripIds); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addDataIds(tripIds); + byte[] dump = dumpService.produceSqlScript(request); try (FileOutputStream fileOutputStream = new FileOutputStream(dst)) { 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 51189bc..db85de9 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 @@ -48,6 +48,7 @@ import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.PingService; +import fr.ird.observe.services.service.SqlScriptProducerRequest; import fr.ird.observe.services.service.SqlScriptProducerService; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import fr.ird.observe.ui.storage.tabs.SecurityModel; @@ -1591,7 +1592,9 @@ public class StorageUIModel extends WizardModel<StorageStep> { SqlScriptProducerService dumpService = source.newService(SqlScriptProducerService.class); - byte[] dump = dumpService.getReferentialDump(); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addSchema().addReferential(); + byte[] dump = dumpService.produceSqlScript(request); + result.setImportDatabase(dump); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java index c370a36..2925ad5 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java @@ -1,6 +1,5 @@ package fr.ird.observe.services.service; -import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.ObserveService; /** @@ -10,17 +9,5 @@ import fr.ird.observe.services.ObserveService; */ public interface SqlScriptProducerService extends ObserveService { - byte[] getH2Schema(); - - byte[] getPostgresSchema(); - - byte[] getReferentialDump(); - - byte[] getDataDump(ImmutableSet<String> dataIds); - - byte[] getAllDataDump(); - - byte[] getDump(); - byte[] produceSqlScript(SqlScriptProducerRequest request); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java index 9f91b5d..676d7ad 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java @@ -207,7 +207,8 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS ObserveDataSourceConfiguration importDataSourceConfiguration = dataSourceCreateConfiguration.getImportReferentialDataSourceConfiguration(); SqlScriptProducerService dumpProducerService = serviceContext.newService(importDataSourceConfiguration, SqlScriptProducerService.class); - byte[] referentialDump = dumpProducerService.getReferentialDump(); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addReferential(); + byte[] referentialDump = dumpProducerService.produceSqlScript(request); topiaApplicationContext.executeSqlStatements(referentialDump); referantialImported = true; @@ -227,7 +228,8 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS } // Réplication du référentiel - byte[] referentialDump = dumpProducerService.getReferentialDump(); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addReferential(); + byte[] referentialDump = dumpProducerService.produceSqlScript(request); if (log.isInfoEnabled()) { log.info("Import referential."); @@ -243,7 +245,8 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS log.info("Get data: " + importDataIds); } - byte[] dataDump = dumpProducerService.getDataDump(importDataIds); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addDataIds(importDataIds); + byte[] dataDump = dumpProducerService.produceSqlScript(request); if (log.isInfoEnabled()) { log.info("Import data."); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java index 73ebe38..30b7896 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java @@ -1,6 +1,5 @@ package fr.ird.observe.services.service; -import com.google.common.base.Joiner; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; @@ -54,66 +53,6 @@ public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implement } - @Override - public byte[] getH2Schema() { - if (log.isTraceEnabled()) { - log.trace("getH2Schema()"); - } - - SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addSchema(); - return produceSqlScript(request); - } - - @Override - public byte[] getPostgresSchema() { - if (log.isTraceEnabled()) { - log.trace("getPostgresSchema()"); - } - - SqlScriptProducerRequest request = SqlScriptProducerRequest.forPostgres().addSchema(); - return produceSqlScript(request); - } - - @Override - public byte[] getReferentialDump() { - if (log.isTraceEnabled()) { - log.trace("getReferentialDump()"); - } - - SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addReferential(); - return produceSqlScript(request); - } - - @Override - public byte[] getDataDump(ImmutableSet<String> dataIds) { - if (log.isTraceEnabled()) { - log.trace("getDataDump([" + Joiner.on(", ").join(dataIds) + "])"); - } - - SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addDataIds(dataIds); - return produceSqlScript(request); - } - - @Override - public byte[] getAllDataDump() { - if (log.isTraceEnabled()) { - log.trace("getAllDataDump()"); - } - - SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addAllData(); - return produceSqlScript(request); - } - - @Override - public byte[] getDump() { - if (log.isTraceEnabled()) { - log.trace("getDump()"); - } - - SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addSchema().addReferential().addAllData(); - return produceSqlScript(request); - } - protected SqlRequests sqlRequests(SqlScriptProducerRequest request, SqlRequests.Builder builder) { if (request.isAddSchema()) { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java index fdebd1a..7bbf6f4 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -41,31 +41,36 @@ public class MigrateTestsDatabases extends AbstractServiceTopiaTest { @DatabaseNameConfiguration(DatabaseName.referentiel) @Test public void migrateReferentielDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException, BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - migrate(service.getDump()); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addSchema().addReferential().addAllData(); + migrate(service.produceSqlScript(request)); } @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) @Test public void migrateDataForTestSeineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException, BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - migrate(service.getDump()); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addSchema().addReferential().addAllData(); + migrate(service.produceSqlScript(request)); } @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) @Test public void migrateDataForTestLonglineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException, BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - migrate(service.getDump()); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addSchema().addReferential().addAllData(); + migrate(service.produceSqlScript(request)); } @DatabaseNameConfiguration(DatabaseName.empty_h2) @Test public void migrateEmptyH2Db() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException, BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - migrate(service.getH2Schema()); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addSchema(); + migrate(service.produceSqlScript(request)); } @DatabaseNameConfiguration(DatabaseName.empty_h2) @Test public void migrateEmptyPgDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException, BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - migrate(DatabaseName.empty_pg.name(), service.getPostgresSchema()); + SqlScriptProducerRequest request = SqlScriptProducerRequest.forPostgres().addSchema(); + migrate(DatabaseName.empty_pg.name(), service.produceSqlScript(request)); } protected void migrate(byte[] dump) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException, DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { -- 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 c171c8f08c9dfa8eec81da47cbd89308f0049ffa Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Tue Mar 15 17:49:32 2016 +0100 créer le repertoire temporaire si il n'existe pas (see #8124). --- .../main/java/fr/ird/observe/services/ObserveServiceInitializer.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java index 70d033e..525951f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java @@ -166,6 +166,9 @@ public class ObserveServiceInitializer { } public File getTemporaryDirectoryRoot() { + if (! temporaryDirectoryRoot.exists()) { + temporaryDirectoryRoot.mkdirs(); + } return temporaryDirectoryRoot; } -- 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 5a41d5578290cacaa779c417510bcb7790e999df Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 16 09:08:52 2016 +0100 ne pas créer le repertoire temporaire en lazy. Au demarage ne pas le supprimer mais le vider (see #8124). --- .../src/main/java/fr/ird/observe/ObserveRunner.java | 2 +- .../main/java/fr/ird/observe/services/ObserveServiceInitializer.java | 3 --- .../main/java/fr/ird/observe/services/ObserveServiceContextTopia.java | 3 --- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java index c990720..94b6822 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java @@ -454,7 +454,7 @@ public abstract class ObserveRunner extends ApplicationRunner { resourceManager.createDirectory(config, TMP_DIRECTORY); // suppression du contenu du répertoire temporaire - FileUtils.deleteDirectory(config.getTmpDirectory()); + FileUtils.cleanDirectory(config.getTmpDirectory()); // 3 - backup directory diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java index 525951f..70d033e 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java @@ -166,9 +166,6 @@ public class ObserveServiceInitializer { } public File getTemporaryDirectoryRoot() { - if (! temporaryDirectoryRoot.exists()) { - temporaryDirectoryRoot.mkdirs(); - } return temporaryDirectoryRoot; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java index 91a332e..f8ed855 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java @@ -147,9 +147,6 @@ public class ObserveServiceContextTopia { public File createTemporaryDirectory(String prefix) { Set<PosixFilePermission> posixFilePermissions = PosixFilePermissions.fromString("rwxr-x---"); FileAttribute<Set<PosixFilePermission>> fileAttribute = PosixFilePermissions.asFileAttribute(posixFilePermissions); - if (! getTemporaryDirectoryRoot().exists()) { - getTemporaryDirectoryRoot().mkdirs(); - } try { return Files.createTempDirectory(getTemporaryDirectoryRoot().toPath(), prefix, fileAttribute).toFile(); } catch (IOException e) { -- 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 6b65ebdd53468abae8ddec8c0c4b4daa434662af 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 0b5cf23352f03844357d57ade906a648d31e7d65 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 0b0d2c33e8a8f0a511bf54ee93ff2068f5776b07 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