This is an automated email from the git hooks/post-receive script. New change to branch feature/7677_action_export_donnees_server_distant in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git omits 147815f Corrige les erreurs d'injection des objets de type Request/Result en implémentant le contrat ObserveDto omits eab2d46 Remplace ImmutableSet<ReferentilDto> par des ReferntialMultimap dans UnidirectionalReferentialSynchronizeRequest afin de permettre la deserialisation de cet objet adds 7507619 changement des loggeurs adds f2ef0f2 Ajouter l'heure dans les informations technique d'un référentiel adds 799b1c4 Ajout d'un FIXME qu'il faudrait mieux gérer adds e3e0875 Amélioration de gestion des associations dans les sql batch tables adds 573de56 Correction de la suppression des données adds eece9f6 Can use remote data source in simple referential synchro adds 9993341 Champs non binde :( adds a626ca7 Renommage méthode adds 32aa66b Utilisation d'un meilleur nom de rapport de validation adds 7df5e6a En fait pas besoin des droits en écriture pour l'action de validation adds 13e7865 Transforme la Date en Timestamp (etend date) pour eviter les erreur sql d'update liées aux dates désérialisées adds 309acb4 Corrige typo adds b20d87c Add entity enum + deal with blobs in import - export of trips (introduce a new api to be used soon also for bi-directionnal data synchro) adds 991b551 Improve actions layout adds a872102 Use a unique management trip service for export data and bi-synchro data adds b2ca067 Use a parameter to fix read lock timeout adds eb0ee6a Merge branch 'feature/deal_with_blobs' into develop adds 4ab6758 push back actions before export new 71ea0ff Remplace ImmutableSet<ReferentilDto> par des ReferntialMultimap dans UnidirectionalReferentialSynchronizeRequest afin de permettre la deserialisation de cet objet new 4be2b8a Corrige les erreurs d'injection des objets de type Request/Result en implémentant le contrat ObserveDto 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 (147815f) \ N -- N -- N refs/heads/feature/7677_action_export_donnees_server_distant (4be2b8a) 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 2 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 4be2b8a5db63774e26c535ef9954bad45c2ed032 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Aug 23 23:16:15 2016 +0200 Corrige les erreurs d'injection des objets de type Request/Result en implémentant le contrat ObserveDto refs #7677 commit 71ea0fff798c121be7c81c1f80fe731bcabf398d Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Aug 23 18:21:24 2016 +0200 Remplace ImmutableSet<ReferentilDto> par des ReferntialMultimap dans UnidirectionalReferentialSynchronizeRequest afin de permettre la deserialisation de cet objet refs #7677 Summary of changes: .../src/main/filters/observe-ui.properties | 2 +- .../ObserveSwingApplicationConfig.java | 3 - .../fr/ird/observe/db/ObserveSwingDataSource.java | 12 +- .../main/java/fr/ird/observe/ui/ObserveMainUI.jaxx | 5 +- .../java/fr/ird/observe/ui/admin/AdminStep.java | 3 +- .../fr/ird/observe/ui/admin/AdminTabUIHandler.java | 88 ++++++++- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 12 +- .../ird/observe/ui/admin/export/ExportModel.java | 2 +- .../observe/ui/admin/export/ExportUIHandler.java | 124 +++++------- .../fr/ird/observe/ui/admin/export/TripEntry.java | 11 ++ .../observe/ui/admin/save/SaveLocalUIHandler.java | 3 +- .../synchronize/data/DataSynchroUIHandler.java | 178 +++++++++++------- .../observe/ui/admin/validate/ValidateModel.java | 10 +- .../ui/content/ref/ContentReferenceUIHandler.java | 4 +- .../ird/observe/ui/storage/StorageUIHandler.java | 4 +- .../fr/ird/observe/ui/storage/StorageUIModel.java | 2 +- .../observe-application-swing_en_GB.properties | 10 + .../observe-application-swing_es_ES.properties | 10 + .../observe-application-swing_fr_FR.properties | 16 +- .../src/main/resources/log4j.properties | 2 +- .../src/main/resources/observe-log4j.properties | 1 + .../v1/SqlScriptProducerServiceController.java | 3 +- .../export/ReplicateTripServiceController.java | 52 ------ .../data/DataSynchronizeServiceController.java | 32 ---- .../v1/trip/TripManagementServiceController.java | 61 ++++++ .../observe/ObserveTopiaConfigurationFactory.java | 4 +- .../observe/ObserveTopiaPersistenceContext.java | 3 +- .../observe/services/ObserveServicesProvider.java | 7 +- .../service/AddSqlScriptProducerResult.java | 27 +++ .../service/DeleteSqlScriptProducerRequest.java | 21 +-- .../services/service/ObserveBlobsContainer.java | 37 ++++ .../services/service/SqlScriptProducerService.java | 2 +- .../export/ReplicateTripsExportRequest.java | 100 ---------- .../actions/export/ReplicateTripsExportResult.java | 101 ---------- .../actions/export/ReplicateTripsImportResult.java | 91 --------- .../synchro/data/DataSynchronizeRequest.java | 104 ----------- .../synchro/data/DataSynchronizeService.java | 52 ------ .../synchro/data/task/DataSynchronizeCopyTask.java | 14 -- .../data/task/DataSynchronizeDeleteTask.java | 14 -- .../DeleteTripRequest.java} | 14 +- .../services/service/trip/DeleteTripResult.java | 26 +++ .../ExportTripRequest.java} | 14 +- .../services/service/trip/ExportTripResult.java | 51 +++++ .../services/service/trip/ImportTripRequest.java | 42 +++++ .../services/service/trip/ImportTripResult.java | 51 +++++ .../TripManagementService.java} | 16 +- .../services/binder/data/TargetLengthBinder.java | 12 +- .../services/service/DataSourceServiceTopia.java | 18 +- .../service/SqlScriptProducerServiceTopia.java | 15 +- .../actions/export/ReplicateTripServiceTopia.java | 115 ------------ .../synchro/data/DataSynchronizeServiceTopia.java | 108 ----------- .../sql/UpdateSqlStatementGenerator.java | 2 +- .../service/trip/ImportTripScriptTopiaSqlWork.java | 68 +++++++ .../service/trip/TripManagementServiceTopia.java | 207 +++++++++++++++++++++ .../AddSqlScriptProducerServiceTopiaTest.java | 2 +- .../services/service/MigrateTestsDatabases.java | 6 +- .../persistence/metadata/TopiaMetadataEntity.java | 16 ++ .../nuiton/topia/service/sql/batch/SqlResult.java | 23 +++ .../service/sql/batch/TopiaSqlBatchService.java | 6 +- .../sql/batch/TopiaSqlBatchServiceImpl.java | 75 ++++++-- .../sql/batch/actions/AbstractSqlAction.java | 52 ++++-- .../sql/batch/actions/AbstractTablesAction.java | 48 +---- .../service/sql/batch/actions/BlobsContainer.java | 80 ++++++++ .../sql/batch/actions/DeleteTablesAction.java | 13 +- .../sql/batch/actions/ReplicateTablesAction.java | 71 ++++++- .../service/sql/batch/tables/TopiaSqlTable.java | 36 +++- .../service/sql/batch/tables/TopiaSqlTables.java | 114 +++++++----- .../sql/batch/tables/TopiaSqlTablesFactory.java | 5 +- 68 files changed, 1362 insertions(+), 1171 deletions(-) delete mode 100644 observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/export/ReplicateTripServiceController.java delete mode 100644 observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/data/DataSynchronizeServiceController.java create mode 100644 observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/trip/TripManagementServiceController.java create mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/AddSqlScriptProducerResult.java create mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/ObserveBlobsContainer.java delete mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/actions/export/ReplicateTripsExportRequest.java delete mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/actions/export/ReplicateTripsExportResult.java delete mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/actions/export/ReplicateTripsImportResult.java delete mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeRequest.java delete mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeService.java delete mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeCopyTask.java delete mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/data/task/DataSynchronizeDeleteTask.java copy observe-services-api/src/main/java/fr/ird/observe/services/service/{actions/synchro/data/task/DataSynchronizeTaskSupport.java => trip/DeleteTripRequest.java} (51%) create mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/trip/DeleteTripResult.java rename observe-services-api/src/main/java/fr/ird/observe/services/service/{actions/synchro/data/task/DataSynchronizeTaskSupport.java => trip/ExportTripRequest.java} (51%) create mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/trip/ExportTripResult.java create mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/trip/ImportTripRequest.java create mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/trip/ImportTripResult.java rename observe-services-api/src/main/java/fr/ird/observe/services/service/{actions/export/ReplicateTripService.java => trip/TripManagementService.java} (75%) delete mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/export/ReplicateTripServiceTopia.java delete mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/data/DataSynchronizeServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/trip/ImportTripScriptTopiaSqlWork.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/trip/TripManagementServiceTopia.java create mode 100644 observe-topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/SqlResult.java create mode 100644 observe-topia-extension/src/main/java/org/nuiton/topia/service/sql/batch/actions/BlobsContainer.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/7677_action_export_donnees_server_distant in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 71ea0fff798c121be7c81c1f80fe731bcabf398d Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Aug 23 18:21:24 2016 +0200 Remplace ImmutableSet<ReferentilDto> par des ReferntialMultimap dans UnidirectionalReferentialSynchronizeRequest afin de permettre la deserialisation de cet objet refs #7677 --- .../web/ObserveWebApplicationListener.java | 2 + ...tionalReferntialSynchronizeRequestInjector.java | 75 ++++++++++++++++++++++ ...nidirectionalReferentialSynchronizeRequest.java | 32 ++++++--- .../dto/gson/ReferentialMultimapAdapter.java | 5 +- .../dto/referential/ReferentialMultimap.java | 29 +++++++++ .../ReferentialSynchronizeDiffServiceTopia.java | 5 +- 6 files changed, 134 insertions(+), 14 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 f4bd444..b6b757c 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 @@ -31,6 +31,7 @@ import fr.ird.observe.application.web.injector.ObserveDataSourceConfigurationInj 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.application.web.injector.UnidirectionalReferntialSynchronizeRequestInjector; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRestConstants; import fr.ird.observe.services.dto.ObserveDbUserDto; import org.apache.commons.logging.Log; @@ -71,6 +72,7 @@ public class ObserveWebApplicationListener implements WebMotionServerListener { context.addInjector(new DateInjector(ObserveDataSourceConfigurationRestConstants.DATE_PATTERN)); context.addInjector(new SqlScriptProducerRequestInjector(gson)); context.addInjector(new ImmutableSetInjector()); + context.addInjector(new UnidirectionalReferntialSynchronizeRequestInjector(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/injector/UnidirectionalReferntialSynchronizeRequestInjector.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/UnidirectionalReferntialSynchronizeRequestInjector.java new file mode 100644 index 0000000..59f0ad6 --- /dev/null +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/UnidirectionalReferntialSynchronizeRequestInjector.java @@ -0,0 +1,75 @@ +package fr.ird.observe.application.web.injector; + +/*- + * #%L + * ObServe :: Application Web + * %% + * Copyright (C) 2008 - 2016 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 com.google.common.base.Preconditions; +import com.google.gson.Gson; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeRequest; +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 Samuel Maisonneuve - maisonneuve@codelutin.com + */ +public class UnidirectionalReferntialSynchronizeRequestInjector implements ExecutorParametersInjectorHandler.Injector { + + /** Logger. */ + private static final Log log = LogFactory.getLog(UnidirectionalReferntialSynchronizeRequestInjector.class); + + protected final Gson gson; + + public UnidirectionalReferntialSynchronizeRequestInjector(Gson gson) { + this.gson = gson; + } + + @Override + public Object getValue(Mapping mapping, Call call, String name, Class<?> type, Type generic) { + + UnidirectionalReferentialSynchronizeRequest result = null; + + if (type.equals(UnidirectionalReferentialSynchronizeRequest.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]; + + result = gson.fromJson(gsonContent, UnidirectionalReferentialSynchronizeRequest.class); + + if (log.isInfoEnabled()) { + log.info("Inject UnidirectionalReferntialSynchronizeRequestInjector: " + result); + } + + } + + return result; + + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java index fbab2e4..4ec070a 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java @@ -25,7 +25,9 @@ package fr.ird.observe.services.service.actions.synchro.referential.legacy; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Multiset; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialMultimap; import java.util.Objects; @@ -47,8 +49,8 @@ public class UnidirectionalReferentialSynchronizeRequest<R extends ReferentialDt } private final Class<R> referentialName; - private final ImmutableSet<R> referentialToAdd; - private final ImmutableSet<R> referentialToUpdate; + private final ReferentialMultimap<R> referentialToAdd; + private final ReferentialMultimap<R> referentialToUpdate; private final ImmutableSet<String> referentialToRemove; private final ImmutableMap<String, String> referentialToReplace; @@ -57,11 +59,25 @@ public class UnidirectionalReferentialSynchronizeRequest<R extends ReferentialDt } public ImmutableSet<R> getReferentialToAdd() { - return referentialToAdd; + ImmutableSet<R> result = new ImmutableSet.Builder().build(); + + Multiset<Class<R>> entries = referentialToAdd.keys(); + if (!entries.isEmpty()) { + result = referentialToAdd.get(entries.iterator().next()); + } + + return result; } public ImmutableSet<R> getReferentialToUpdate() { - return referentialToUpdate; + ImmutableSet<R> result = new ImmutableSet.Builder().build(); + + Multiset<Class<R>> entries = referentialToUpdate.keys(); + if (!entries.isEmpty()) { + result = referentialToUpdate.get(entries.iterator().next()); + } + + return result; } public ImmutableSet<String> getReferentialToRemove() { @@ -100,8 +116,8 @@ public class UnidirectionalReferentialSynchronizeRequest<R extends ReferentialDt } private UnidirectionalReferentialSynchronizeRequest(Class<R> referentialName, - ImmutableSet<R> referentialToAdd, - ImmutableSet<R> referentialToUpdate, + ReferentialMultimap<R> referentialToAdd, + ReferentialMultimap<R> referentialToUpdate, ImmutableSet<String> referentialToRemove, ImmutableMap<String, String> toReplace) { this.referentialName = referentialName; @@ -114,8 +130,8 @@ public class UnidirectionalReferentialSynchronizeRequest<R extends ReferentialDt public static class Builder<R extends ReferentialDto> { private final Class<R> referentialName; - private final ImmutableSet.Builder<R> toAddBuilder = ImmutableSet.builder(); - private final ImmutableSet.Builder<R> toUpdateBuilder = ImmutableSet.builder(); + private final ReferentialMultimap.Builder<R> toAddBuilder = ReferentialMultimap.builder(); + private final ReferentialMultimap.Builder<R> toUpdateBuilder = ReferentialMultimap.builder(); private final ImmutableSet.Builder<String> toRemoveBuilder = ImmutableSet.builder(); private final ImmutableMap.Builder<String, String> toReplaceBuilder = ImmutableMap.builder(); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferentialMultimapAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferentialMultimapAdapter.java index 516a255..bd1b59d 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferentialMultimapAdapter.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferentialMultimapAdapter.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.dto.gson; * #L% */ -import com.google.common.collect.ImmutableSetMultimap; import com.google.common.reflect.TypeParameter; import com.google.common.reflect.TypeToken; import com.google.gson.JsonDeserializationContext; @@ -53,7 +52,7 @@ public class ReferentialMultimapAdapter implements JsonSerializer<ReferentialMul @Override public ReferentialMultimap deserialize(JsonElement json, Type type, JsonDeserializationContext context) throws JsonParseException { - ImmutableSetMultimap.Builder builder = ImmutableSetMultimap.builder(); + ReferentialMultimap.Builder builder = ReferentialMultimap.builder(); Set<Map.Entry<String, JsonElement>> entries = json.getAsJsonObject().entrySet(); for (Map.Entry<String, JsonElement> entry : entries) { @@ -72,7 +71,7 @@ public class ReferentialMultimapAdapter implements JsonSerializer<ReferentialMul builder.putAll(key, values); } - return ReferentialMultimap.copyOf(builder.build()); + return builder.build(); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialMultimap.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialMultimap.java index 1d1fb78..451b27f 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialMultimap.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialMultimap.java @@ -22,6 +22,7 @@ package fr.ird.observe.services.dto.referential; * #L% */ +import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSetMultimap; @@ -52,6 +53,34 @@ public class ReferentialMultimap<K extends ReferentialDto> implements SetMultima return new ReferentialMultimap(multimap); } + public static <K extends ReferentialDto> Builder<K> builder() { + return new Builder<>(); + } + + public static class Builder<K extends ReferentialDto> { + private final ImmutableSetMultimap.Builder builder = ImmutableSetMultimap.builder(); + + public <K extends ReferentialDto> Builder add(K referentialDto) { + Preconditions.checkNotNull(referentialDto, "Can't add a null object in ReferentialMultimap"); + builder.put(referentialDto.getClass(), referentialDto); + return this; + } + + public <K extends ReferentialDto> Builder put(Class<K> dtoType, K referentialDto) { + builder.putAll(dtoType, referentialDto); + return this; + } + + public <K extends ReferentialDto> Builder putAll(Class<K> dtoType, Collection<K> values) { + builder.putAll(dtoType, values); + return this; + } + + public ReferentialMultimap<K> build() { + return copyOf(builder.build()); + } + } + private ReferentialMultimap() { immutableSetMultimap = ImmutableSetMultimap.<Class<K>, K>builder().build(); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java index b4f701a..e83e77e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/diff/ReferentialSynchronizeDiffServiceTopia.java @@ -1,7 +1,6 @@ package fr.ird.observe.services.service.actions.synchro.referential.diff; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.ImmutableSetMultimap; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.Entities; @@ -65,7 +64,7 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia } private <E extends ObserveReferentialEntity, R extends ReferentialDto> ReferentialMultimap<R> getReferentials0(Class<R> dtoType, Class<E> entityType, ImmutableSet<String> ids) { - ImmutableSetMultimap.Builder<Class<R>, R> result = ImmutableSetMultimap.builder(); + ReferentialMultimap.Builder<R> result = ReferentialMultimap.builder(); ReferentialLocale referentialLocale = getReferentialLocale(); List<E> entities = loadEntities(entityType, ids); for (E entity : entities) { @@ -73,7 +72,7 @@ public class ReferentialSynchronizeDiffServiceTopia extends ObserveServiceTopia result.put(dtoType, binder.toDto(referentialLocale, entity)); } - return ReferentialMultimap.copyOf(result.build()); + return result.build(); } @Override -- 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/7677_action_export_donnees_server_distant in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 4be2b8a5db63774e26c535ef9954bad45c2ed032 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Aug 23 23:16:15 2016 +0200 Corrige les erreurs d'injection des objets de type Request/Result en implémentant le contrat ObserveDto refs #7677 --- .../web/ObserveWebApplicationListener.java | 2 - ...tionalReferntialSynchronizeRequestInjector.java | 75 ---------------------- ...nidirectionalReferentialSynchronizeRequest.java | 3 +- ...UnidirectionalReferentialSynchronizeResult.java | 3 +- 4 files changed, 4 insertions(+), 79 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 b6b757c..f4bd444 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 @@ -31,7 +31,6 @@ import fr.ird.observe.application.web.injector.ObserveDataSourceConfigurationInj 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.application.web.injector.UnidirectionalReferntialSynchronizeRequestInjector; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRestConstants; import fr.ird.observe.services.dto.ObserveDbUserDto; import org.apache.commons.logging.Log; @@ -72,7 +71,6 @@ public class ObserveWebApplicationListener implements WebMotionServerListener { context.addInjector(new DateInjector(ObserveDataSourceConfigurationRestConstants.DATE_PATTERN)); context.addInjector(new SqlScriptProducerRequestInjector(gson)); context.addInjector(new ImmutableSetInjector()); - context.addInjector(new UnidirectionalReferntialSynchronizeRequestInjector(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/injector/UnidirectionalReferntialSynchronizeRequestInjector.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/UnidirectionalReferntialSynchronizeRequestInjector.java deleted file mode 100644 index 59f0ad6..0000000 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/UnidirectionalReferntialSynchronizeRequestInjector.java +++ /dev/null @@ -1,75 +0,0 @@ -package fr.ird.observe.application.web.injector; - -/*- - * #%L - * ObServe :: Application Web - * %% - * Copyright (C) 2008 - 2016 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 com.google.common.base.Preconditions; -import com.google.gson.Gson; -import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeRequest; -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 Samuel Maisonneuve - maisonneuve@codelutin.com - */ -public class UnidirectionalReferntialSynchronizeRequestInjector implements ExecutorParametersInjectorHandler.Injector { - - /** Logger. */ - private static final Log log = LogFactory.getLog(UnidirectionalReferntialSynchronizeRequestInjector.class); - - protected final Gson gson; - - public UnidirectionalReferntialSynchronizeRequestInjector(Gson gson) { - this.gson = gson; - } - - @Override - public Object getValue(Mapping mapping, Call call, String name, Class<?> type, Type generic) { - - UnidirectionalReferentialSynchronizeRequest result = null; - - if (type.equals(UnidirectionalReferentialSynchronizeRequest.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]; - - result = gson.fromJson(gsonContent, UnidirectionalReferentialSynchronizeRequest.class); - - if (log.isInfoEnabled()) { - log.info("Inject UnidirectionalReferntialSynchronizeRequestInjector: " + result); - } - - } - - return result; - - } - -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java index 4ec070a..6de789a 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeRequest.java @@ -26,6 +26,7 @@ import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Multiset; +import fr.ird.observe.services.dto.ObserveDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialMultimap; @@ -41,7 +42,7 @@ import java.util.Objects; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class UnidirectionalReferentialSynchronizeRequest<R extends ReferentialDto> { +public class UnidirectionalReferentialSynchronizeRequest<R extends ReferentialDto> implements ObserveDto { public static <R extends ReferentialDto> Builder<R> builder(Class<R> referentialName) { Objects.nonNull(referentialName); diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeResult.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeResult.java index 52c46a0..2829d22 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeResult.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeResult.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.actions.synchro.referential.legacy; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; +import fr.ird.observe.services.dto.ObserveDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import org.apache.commons.lang3.tuple.Pair; @@ -40,7 +41,7 @@ import java.util.Set; * @author Tony Chemit - chemit@codelutin.com * @since 5.0 */ -public class UnidirectionalReferentialSynchronizeResult { +public class UnidirectionalReferentialSynchronizeResult implements ObserveDto { private final Set<Class<? extends ReferentialDto>> referentialNames; private final Multimap<Class<? extends ReferentialDto>, String> referentialAdded; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm