branch develop updated (965a665 -> 0fcfebc)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from 965a665 fixes #6870: [IMPORT GENERIQUE] Améliorer la gestion du protocole Merge branch 'feature/6870' into develop new 236b4e7 ne pas propager la modification du status de synchronisation pendant l'import new 0fcfebc finish #6818: [IMPORT GENERIQUE] Améliorer les performances d'import Merge branch 'feature/6818' into develop 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 0fcfebca64b863e017c65dffb7efaf9921a717be Merge: 965a665 236b4e7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:42:45 2015 +0100 finish #6818: [IMPORT GENERIQUE] Améliorer les performances d'import Merge branch 'feature/6818' into develop commit 236b4e731adca045758d32f16b1c824d1f8cd31c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Mar 15 20:57:27 2015 +0100 ne pas propager la modification du status de synchronisation pendant l'import Summary of changes: .../service/CruisePersistenceServiceImpl.java | 1 + .../service/util/SynchronizationStatusHelper.java | 81 +++++++++++++++------- .../genericformat/GenericFormatImportService.java | 17 ++++- 3 files changed, 72 insertions(+), 27 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 236b4e731adca045758d32f16b1c824d1f8cd31c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Mar 15 20:57:27 2015 +0100 ne pas propager la modification du status de synchronisation pendant l'import --- .../service/CruisePersistenceServiceImpl.java | 1 + .../service/util/SynchronizationStatusHelper.java | 81 +++++++++++++++------- .../genericformat/GenericFormatImportService.java | 17 ++++- 3 files changed, 72 insertions(+), 27 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java index 58e2381..7fa8b8c 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java @@ -666,6 +666,7 @@ public class CruisePersistenceServiceImpl extends AbstractPersistenceService imp fishingTrip.setQualityFlag(qualityFlagNotQualified); // SynchronizationStatus + synchronizationStatusHelper.setDirty(target); synchronizationStatusHelper.setDirty(fishingTrip); // DepartureLocation diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java index 17e89d5..401205a 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/util/SynchronizationStatusHelper.java @@ -54,24 +54,49 @@ public class SynchronizationStatusHelper extends AbstractPersistenceService { /** Logger. */ private static final Log log = LogFactory.getLog(SynchronizationStatusHelper.class); + /** + * A internal state to skip any propagation to parent objects. + * + * This is used while generic format import. + * + * @since 3.15 + */ + private static boolean propagateToParents = true; + + public static void propagateDirtyStatusToParents() { + SynchronizationStatusHelper.propagateToParents = true; + } + + public static void doNotPropagateDirtyStatusToParents() { + SynchronizationStatusHelper.propagateToParents = false; + } + public void setDirty(ScientificCruise scientificCruise) { + String synchronizationStatus = getDirtyValue(); if (log.isInfoEnabled()) { log.info("SetDirty scientificCruise: " + scientificCruise.getId()); } scientificCruise.setSynchronizationStatus(synchronizationStatus); + } public void setDirty(FishingTrip fishingTrip) { + String synchronizationStatus = getDirtyValue(); fishingTrip.setSynchronizationStatus(synchronizationStatus); if (log.isInfoEnabled()) { log.info("SetDirty fishingTrip: " + fishingTrip.getId()); } - setDirty(fishingTrip.getScientificCruise()); + + if (propagateToParents) { + setDirty(fishingTrip.getScientificCruise()); + } + } public void setDirty(CatchBatch catchBatch) { + String synchronizationStatus = getDirtyValue(); if (log.isInfoEnabled()) { @@ -79,28 +104,48 @@ public class SynchronizationStatusHelper extends AbstractPersistenceService { } catchBatch.setSynchronizationStatus(synchronizationStatus); - try { - setDirty(catchBatch.getFishingOperation().getFishingTrip()); - } catch (LazyInitializationException e) { + if (propagateToParents) { + try { + setDirty(catchBatch.getFishingOperation().getFishingTrip()); + } catch (LazyInitializationException e) { - // We need to have a loaded catchBatch, since it can come from a cache, prefer to reload it here - CatchBatchImpl loadedCatchBatch = load(CatchBatchImpl.class, catchBatch.getId()); - loadedCatchBatch.setSynchronizationStatus(synchronizationStatus); + // We need to have a loaded catchBatch, since it can come from a cache, prefer to reload it here + CatchBatchImpl loadedCatchBatch = load(CatchBatchImpl.class, catchBatch.getId()); + loadedCatchBatch.setSynchronizationStatus(synchronizationStatus); + } } + } public void setDirty(Sample sample) { + String synchronizationStatus = getDirtyValue(); sample.setSynchronizationStatus(synchronizationStatus); if (log.isInfoEnabled()) { log.info("SetDirty sample: " + sample.getId()); } - Batch batch = sample.getBatch(); - if (batch != null && batch instanceof CatchBatch) { - setDirty((CatchBatch) batch); - } else { - setDirty(sample.getFishingOperation().getFishingTrip()); + + if (propagateToParents) { + Batch batch = sample.getBatch(); + if (batch != null && batch instanceof CatchBatch) { + setDirty((CatchBatch) batch); + } else { + setDirty(sample.getFishingOperation().getFishingTrip()); + } } + + } + + public void setDirty(fr.ifremer.tutti.persistence.entities.data.CatchBatch bean) { + bean.setSynchronizationStatus(getDirtyValue()); + } + + public void setDirty(IndividualObservationBatch bean) { + bean.setSynchronizationStatus(getDirtyValue()); + } + + public void setDirty(AccidentalBatch bean) { + bean.setSynchronizationStatus(getDirtyValue()); } public void setCruiseReadyToSynch(Integer cruiseId) { @@ -155,16 +200,4 @@ public class SynchronizationStatusHelper extends AbstractPersistenceService { protected String getDirtyValue() { return SynchronizationStatus.DIRTY.getValue(); } - - public void setDirty(fr.ifremer.tutti.persistence.entities.data.CatchBatch bean) { - bean.setSynchronizationStatus(getDirtyValue()); - } - - public void setDirty(IndividualObservationBatch bean) { - bean.setSynchronizationStatus(getDirtyValue()); - } - - public void setDirty(AccidentalBatch bean) { - bean.setSynchronizationStatus(getDirtyValue()); - } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportService.java index f932a0f..a9f10e8 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GenericFormatImportService.java @@ -30,6 +30,7 @@ import fr.ifremer.tutti.persistence.ProgressionModel; import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.persistence.entities.data.Program; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; +import fr.ifremer.tutti.persistence.service.util.SynchronizationStatusHelper; import fr.ifremer.tutti.service.PdfGeneratorService; import fr.ifremer.tutti.service.TuttiServiceContext; import fr.ifremer.tutti.service.catches.WeightCleaningService; @@ -201,11 +202,21 @@ public class GenericFormatImportService extends GenericFormatServiceSupport { GenericFormatImportRequest importRequest = createImportRequest(importConfiguration, archive); - GenericFormatImportResult result = doImport(importRequest, progressionModel); + SynchronizationStatusHelper.doNotPropagateDirtyStatusToParents(); - generateImportReport(result, progressionModel); + try { - return result; + GenericFormatImportResult result = doImport(importRequest, progressionModel); + + generateImportReport(result, progressionModel); + + return result; + + } finally { + + SynchronizationStatusHelper.propagateDirtyStatusToParents(); + + } } -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 0fcfebca64b863e017c65dffb7efaf9921a717be Merge: 965a665 236b4e7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Mar 26 09:42:45 2015 +0100 finish #6818: [IMPORT GENERIQUE] Améliorer les performances d'import Merge branch 'feature/6818' into develop .../service/CruisePersistenceServiceImpl.java | 1 + .../service/util/SynchronizationStatusHelper.java | 81 +++++++++++++++------- .../genericformat/GenericFormatImportService.java | 17 ++++- 3 files changed, 72 insertions(+), 27 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm