This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 843667b23092790d253dd4c3d3ba94c03126d537 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 29 13:20:34 2016 +0200 Revue du commit précédent car c'est uniquement dans les tests qu'on peut créer des SampleDataType à la volée... (See #8295) --- .../contexts/VoyageCatchesImportDataContext.java | 8 +------- .../VoyageCatchesAllImportServiceIT.java | 8 ++++++++ .../VoyageCatchesImportServiceITSupport.java | 24 ++++++++++++++++++++++ ...geCatchesOnlyBiometrySampleImportServiceIT.java | 8 ++++++++ 4 files changed, 41 insertions(+), 7 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCatchesImportDataContext.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCatchesImportDataContext.java index 8db7cd7..20b589a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCatchesImportDataContext.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCatchesImportDataContext.java @@ -7,7 +7,6 @@ import fr.ifremer.echobase.entities.references.SampleType; import fr.ifremer.echobase.entities.references.SampleTypeImpl; import fr.ifremer.echobase.services.service.UserDbPersistenceService; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import org.nuiton.topia.persistence.TopiaNoResultException; import java.util.Date; import java.util.Locale; @@ -116,12 +115,7 @@ public class VoyageCatchesImportDataContext extends VoyageImportDataContextSuppo public final SampleDataType getSampleDataTypeSpecimenIndex() { if (sampleDataTypeFishIndex == null) { - try { - sampleDataTypeFishIndex = persistenceService.getSampleDataTypeByName(SampleDataTypeImpl.SPECIMEN_INDEX); - } catch (TopiaNoResultException e) { - // create on the fly... - sampleDataTypeFishIndex = persistenceService.createSampleDataType(SampleDataTypeImpl.SPECIMEN_INDEX); - } + sampleDataTypeFishIndex = persistenceService.getSampleDataTypeByName(SampleDataTypeImpl.SPECIMEN_INDEX); } return sampleDataTypeFishIndex; } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java index cb572fb..9be5649 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java @@ -23,6 +23,7 @@ package fr.ifremer.echobase.services.service.importdata; import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.data.Sample; import fr.ifremer.echobase.entities.data.SampleData; +import fr.ifremer.echobase.entities.references.SampleDataTypeImpl; import fr.ifremer.echobase.services.ImportDataFixtures; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; @@ -53,6 +54,13 @@ public class VoyageCatchesAllImportServiceIT extends VoyageCatchesImportServiceI } @Override + protected void assertBeforeImport() { + super.assertBeforeImport(); + + addMissingSampleDataType(SampleDataTypeImpl.SPECIMEN_INDEX); + } + + @Override protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { int nbSample = fixtures.NB_SAMPLE(); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java index feee144..93ebd2a 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java @@ -21,7 +21,12 @@ package fr.ifremer.echobase.services.service.importdata; * #L% */ +import com.google.common.base.Optional; +import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext; +import fr.ifremer.echobase.entities.references.SampleDataType; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.io.IOException; @@ -31,6 +36,9 @@ import java.io.IOException; */ public abstract class VoyageCatchesImportServiceITSupport extends AbstractImportDataServiceIT<VoyageCatchesImportConfiguration> { + /** Logger. */ + private static final Log log = LogFactory.getLog(VoyageCatchesImportServiceITSupport.class); + protected VoyageCatchesImportServiceITSupport(int nbFiles) { super(nbFiles); } @@ -52,4 +60,20 @@ public abstract class VoyageCatchesImportServiceITSupport extends AbstractImport return configuration; } + protected void addMissingSampleDataType(String sampleDataTypeName) { + + EchoBaseUserPersistenceContext persistenceContext = this.serviceContext.getEchoBaseUserPersistenceContext(); + + Optional<SampleDataType> optionalSampleDataType = persistenceContext.getSampleDataTypeDao().forNameEquals(sampleDataTypeName).tryFindUnique(); + if (!optionalSampleDataType.isPresent()) { + + if (log.isInfoEnabled()) { + log.info("Add sampleDataType " +sampleDataTypeName); + } + persistenceContext.getSampleDataTypeDao().create(SampleDataType.PROPERTY_NAME,sampleDataTypeName); + + persistenceContext.commit(); + } + + } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesOnlyBiometrySampleImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesOnlyBiometrySampleImportServiceIT.java index db616a8..96251b6 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesOnlyBiometrySampleImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesOnlyBiometrySampleImportServiceIT.java @@ -23,6 +23,7 @@ package fr.ifremer.echobase.services.service.importdata; import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.data.Sample; import fr.ifremer.echobase.entities.data.SampleData; +import fr.ifremer.echobase.entities.references.SampleDataTypeImpl; import fr.ifremer.echobase.services.ImportDataFixtures; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; @@ -51,6 +52,13 @@ public class VoyageCatchesOnlyBiometrySampleImportServiceIT extends VoyageCatche } @Override + protected void assertBeforeImport() { + super.assertBeforeImport(); + + addMissingSampleDataType(SampleDataTypeImpl.SPECIMEN_INDEX); + } + + @Override protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.