branch feature/7739 updated (574764d -> d0e513e)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7739 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git from 574764d Test de syncrhonisation mise en place + correction nom de base de test new d0e513e On n gère pas lors de la synchronisation de la désactivation d'un référentiel (See #7739) The 1 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 d0e513e1cd176016e78970a85633cc57015e392e Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Jul 5 17:39:02 2016 +0200 On n gère pas lors de la synchronisation de la désactivation d'un référentiel (See #7739) Summary of changes: .../actions/synchro/RemoteReferentialDiff.java | 18 +-------- ...UnidirectionalReferentialSynchronizeEngine.java | 47 ++++------------------ ...alReferentialSynchronizeRemoteServiceTopia.java | 8 ---- .../UnidirectionalSynchronizeReferentialTest.java | 7 +--- 4 files changed, 10 insertions(+), 70 deletions(-) -- 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/7739 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit d0e513e1cd176016e78970a85633cc57015e392e Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Jul 5 17:39:02 2016 +0200 On n gère pas lors de la synchronisation de la désactivation d'un référentiel (See #7739) --- .../actions/synchro/RemoteReferentialDiff.java | 18 +-------- ...UnidirectionalReferentialSynchronizeEngine.java | 47 ++++------------------ ...alReferentialSynchronizeRemoteServiceTopia.java | 8 ---- .../UnidirectionalSynchronizeReferentialTest.java | 7 +--- 4 files changed, 10 insertions(+), 70 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/RemoteReferentialDiff.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/RemoteReferentialDiff.java index 8900844..b4409f7 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/RemoteReferentialDiff.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/RemoteReferentialDiff.java @@ -3,7 +3,6 @@ package fr.ird.observe.services.service.actions.synchro; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; import java.io.Serializable; import java.util.Collection; @@ -36,26 +35,21 @@ public class RemoteReferentialDiff implements Serializable { * Les identifiants de référentiels à supprimer (indexé par nom de référentiel). */ private final Multimap<String, String> referentialsToRemove; - /** - * Les références de référentiels à changer (ils sont devenus obsolètes) (indexé par nom de référentiel). - */ - private final Multimap<String, ReferentialReference> referentialsToFix; public RemoteReferentialDiff() { referentialNames = new LinkedHashSet<>(); referentialsToAdd = ArrayListMultimap.create(); referentialsToUpdate = ArrayListMultimap.create(); referentialsToRemove = ArrayListMultimap.create(); - referentialsToFix = ArrayListMultimap.create(); } public boolean isReferentialUsed(String referentialName) { return referentialsToAdd.containsKey(referentialName) || referentialsToUpdate.containsKey(referentialName) - || referentialsToRemove.containsKey(referentialName) - || referentialsToFix.containsKey(referentialName); + || referentialsToRemove.containsKey(referentialName); } + public <R extends ReferentialDto> Collection<R> getReferentialsToAdd(String referentialName) { return (Collection) referentialsToAdd.get(referentialName); } @@ -68,10 +62,6 @@ public class RemoteReferentialDiff implements Serializable { return new HashSet<>(referentialsToRemove.get(referentialName)); } - public <R extends ReferentialDto> Collection<ReferentialReference<R>> getReferentialsToFix(String referentialName) { - return (Collection)referentialsToFix.get(referentialName); - } - public Set<String> getReferentialNames() { return referentialNames; } @@ -91,8 +81,4 @@ public class RemoteReferentialDiff implements Serializable { referentialsToRemove.put(referentialName, id); } - void addReferentialToFix(String referentialName, ReferentialReference referentialReference) { - referentialNames.add(referentialName); - referentialsToFix.put(referentialName, referentialReference); - } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeEngine.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeEngine.java index 83be8a9..5c3b8c5 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeEngine.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeEngine.java @@ -92,27 +92,8 @@ public class UnidirectionalReferentialSynchronizeEngine implements Callable<Unid } - Collection<ReferentialReference<R>> referentialsToReplace = remoteReferentialDiff.getReferentialsToFix(referentialName); - Collection<ReferentialReference<R>> blockingReferentialsToReplace = null; - if (CollectionUtils.isNotEmpty(referentialsToReplace)) { - - Set<String> idsToReplace = referentialsToReplace.stream() - .map(ReferentialReference::getId) - .collect(Collectors.toCollection(LinkedHashSet::new)); - - Set<String> blockingIdsToReplace = localService.filterIdsUsedInLocalSource(referentialName, idsToReplace); - - blockingReferentialsToReplace = referentialsToReplace - .stream() - .filter(referentialReference -> blockingIdsToReplace.contains(referentialReference.getId())) - .collect(Collectors.toSet()); - - } - - boolean needCallbackForRemove = CollectionUtils.isNotEmpty(blockingIdsToRemove); - boolean needCallbackForReplace = CollectionUtils.isNotEmpty(blockingReferentialsToReplace); - boolean needCallback = needCallbackForRemove || needCallbackForReplace; + boolean needCallback = CollectionUtils.isNotEmpty(blockingIdsToRemove); if (needCallback) { // calcul de l'univers de référentiels disponibles pour les remplacements @@ -120,26 +101,12 @@ public class UnidirectionalReferentialSynchronizeEngine implements Callable<Unid ReferentialReferenceSet<R> availableReferenceSet = remoteService.getEnabledReferentialReferenceSet(referentialName); Set<ReferentialReference<R>> availableReferentials = availableReferenceSet.getReferences(); - if (needCallbackForRemove) { - - Set<ReferentialReference<R>> blockingReferentialsToRemove = localService.getLocalSourceReferentialToDelete(referentialName, blockingIdsToRemove); - CallbackRequest<R> callbackRequest = CallbackRequest.of(referentialName, blockingReferentialsToRemove, availableReferentials); - Map<String, String> referentialsToRemoveIds = callback.askUserToReplaceRemovedReferentials(callbackRequest); - for (Map.Entry<String, String> entry : referentialsToRemoveIds.entrySet()) { - builder.entityToReplace(entry.getKey(), entry.getValue()); - builder.entityToRemove(entry.getKey()); - } - - } - - if (needCallbackForReplace) { - - CallbackRequest<R> callbackRequest = CallbackRequest.of(referentialName, referentialsToReplace, availableReferentials); - Map<String, String> referentialsToReplaceIds = callback.askUserToReplaceDisabledReferentials(callbackRequest); - for (Map.Entry<String, String> entry : referentialsToReplaceIds.entrySet()) { - builder.entityToReplace(entry.getKey(), entry.getValue()); - } - + Set<ReferentialReference<R>> blockingReferentialsToRemove = localService.getLocalSourceReferentialToDelete(referentialName, blockingIdsToRemove); + CallbackRequest<R> callbackRequest = CallbackRequest.of(referentialName, blockingReferentialsToRemove, availableReferentials); + Map<String, String> referentialsToRemoveIds = callback.askUserToReplaceRemovedReferentials(callbackRequest); + for (Map.Entry<String, String> entry : referentialsToRemoveIds.entrySet()) { + builder.entityToReplace(entry.getKey(), entry.getValue()); + builder.entityToRemove(entry.getKey()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java index fb2dcc6..f2e33ac 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalReferentialSynchronizeRemoteServiceTopia.java @@ -9,7 +9,6 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -97,13 +96,6 @@ public class UnidirectionalReferentialSynchronizeRemoteServiceTopia extends Obse result.addReferentialToUpdate(entityName, dto); } - if (centralReferentialEntity.isDisabled() && !localReferentialDisabled.contains(id)) { - - // entité qui passe en mode désactivé, il faudra que l'utilisateur la change - ReferentialReference<ReferentialDto> referentialReference = binderEngine.transformEntityToReferentialReferenceDto(referentialLocale, centralReferentialEntity); - result.addReferentialToFix(entityName, referentialReference); - } - } // entités supprimées diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java index 6a00f78..8ce1b83 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java @@ -189,7 +189,6 @@ public class UnidirectionalSynchronizeReferentialTest extends AbstractServiceTop Assert.assertTrue(result.getReferentialRemoved(ObserveEntityEnum.Species.name()).isEmpty()); Assert.assertTrue(result.getReferentialReplaced(ObserveEntityEnum.Species.name()).isEmpty()); - } { Assert.assertTrue(referentialNames.contains(ObserveEntityEnum.Person.name())); @@ -203,7 +202,6 @@ public class UnidirectionalSynchronizeReferentialTest extends AbstractServiceTop Assert.assertFalse(referentialReplaced.isEmpty()); Assert.assertEquals(1, referentialReplaced.size()); Assert.assertTrue(referentialReplaced.contains(Pair.of("fr.ird.observe.entities.referentiel.Person#1355399844272#0.32586441962131485","fr.ird.observe.entities.referentiel.Person#1429515754659#0.322074382333085"))); - } { Assert.assertTrue(referentialNames.contains(ObserveEntityEnum.Vessel.name())); @@ -213,10 +211,7 @@ public class UnidirectionalSynchronizeReferentialTest extends AbstractServiceTop Assert.assertEquals(1, referentialUpdated.size()); Assert.assertTrue(referentialUpdated.contains("fr.ird.observe.entities.referentiel.Vessel#1306847717532#0.7435948873477364")); Assert.assertTrue(result.getReferentialRemoved(ObserveEntityEnum.Vessel.name()).isEmpty()); - Collection<Pair<String, String>> referentialReplaced = result.getReferentialReplaced(ObserveEntityEnum.Vessel.name()); - Assert.assertFalse(referentialReplaced.isEmpty()); - Assert.assertEquals(1, referentialReplaced.size()); - Assert.assertTrue(referentialReplaced.contains(Pair.of("fr.ird.observe.entities.referentiel.Vessel#1306847717532#0.7435948873477364", "fr.ird.observe.entities.referentiel.Vessel#1429515781110#0.833177504362538"))); + Assert.assertTrue(result.getReferentialReplaced(ObserveEntityEnum.Vessel.name()).isEmpty()); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm