[Git][ultreiaio/ird-observe][develop-9] Marées non trouvées lors de l'import AVDTH - Closes #1945
Tony CHEMIT pushed to branch develop-9 at ultreiaio / ird-observe Commits: 87c047a1 by Tony Chemit at 2021-07-06T07:46:13+02:00 Marées non trouvées lors de l'import AVDTH - Closes #1945 - - - - - 3 changed files: - models/persistence/avdth/src/main/java/fr/ird/observe/persistence/avdth/data/ImportEngine.java - models/persistence/avdth/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportContext.java - models/persistence/avdth/src/main/java/fr/ird/observe/persistence/avdth/referential/interceptors/OceanInterceptor.java Changes: ===================================== models/persistence/avdth/src/main/java/fr/ird/observe/persistence/avdth/data/ImportEngine.java ===================================== @@ -206,8 +206,8 @@ public class ImportEngine implements Closeable { long time0 = TimeLog.getTime(); try (DataTables tables = new DataTables(getConn())) { - int tripCount = tables.tripTableReader.tableReadCount(); - getConfiguration().incrementsProgression(String.format("Détection de %d marée(s).", tripCount)); + @SuppressWarnings("SpellCheckingInspection") int tripCount = tablesReadCount.get("MAREE"); + getConfiguration().incrementsProgression(String.format("%d detected trip(s).", tripCount)); getConfiguration().getProgressionModel().setValue(0); getConfiguration().getProgressionModel().setMaximum(tripCount); read(tables); ===================================== models/persistence/avdth/src/main/java/fr/ird/observe/persistence/avdth/referential/AvdthReferentialImportContext.java ===================================== @@ -29,6 +29,7 @@ import fr.ird.observe.entities.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referential.ReferentialEntity; import fr.ird.observe.entities.referential.common.DataQuality; import fr.ird.observe.entities.referential.common.LengthMeasureMethod; +import fr.ird.observe.entities.referential.common.Ocean; import fr.ird.observe.entities.referential.common.Program; import fr.ird.observe.entities.referential.common.SizeMeasureType; import fr.ird.observe.entities.referential.common.WeightMeasureMethod; @@ -142,6 +143,7 @@ public class AvdthReferentialImportContext implements Closeable { result.setSpecies(new LinkedList<>()); result.setHarbour(new LinkedList<>()); try (ObserveTopiaPersistenceContext persistenceContext = getPersistenceApplicationContext().newPersistenceContext()) { + prepare(Ocean.SPI, persistenceContext, result::setOcean); prepare(WellContentStatus.SPI, persistenceContext, result::setWellContentStatus); prepare(Program.SPI, persistenceContext, result::setProgram); prepare(DataQuality.SPI, persistenceContext, result::setDataQuality); ===================================== models/persistence/avdth/src/main/java/fr/ird/observe/persistence/avdth/referential/interceptors/OceanInterceptor.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.persistence.avdth.referential.interceptors; */ import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Maps; import fr.ird.observe.dto.referential.ReferenceStatus; import fr.ird.observe.entities.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referential.common.Ocean; @@ -143,6 +144,8 @@ public class OceanInterceptor extends ReferentialInterceptor<Ocean, OceanSpi> { @Override public void consume(AvdthReferentialImportResult result, List<Ocean> newList) { - result.setOcean(newList); + List<Ocean> existing = result.getOcean(); + Map<String, Ocean> byCode = new TreeMap<>(Maps.uniqueIndex(existing, Ocean::getCode)); + newList.stream().filter(entity -> !byCode.containsKey(entity.getCode())).forEach(existing::add); } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/87c047a185351b21a6171eff12... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/87c047a185351b21a6171eff12... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT (@tchemit)