[tutti] branch feature/5997 updated (f95f58e -> 28ddc93)
This is an automated email from the git hooks/post-receive script. New change to branch feature/5997 in repository tutti. See http://git.codelutin.com/tutti.git from f95f58e refs #5997 [IMPORT] Améliorer la gestion des référentiels temporaires new 28ddc93 refs #5997 [IMPORT] Améliorer la gestion des référentiels temporaires 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 28ddc93e5fcf4251d191439fa4e9bbedc1ce7a15 Author: Kevin Morin <morin@codelutin.com> Date: Fri Oct 24 17:38:58 2014 +0200 refs #5997 [IMPORT] Améliorer la gestion des référentiels temporaires Summary of changes: .../tutti/persistence/entities/TuttiEntity.java | 4 ++ .../persistence/entities/TuttiEntityBean.java | 5 +++ .../service/ReferentialPersistenceServiceImpl.java | 30 ++++++++++---- .../tutti/service/referential/GearModel.java | 5 ++- .../tutti/service/referential/PersonModel.java | 6 ++- .../referential/ReferentialImportService.java | 48 ++++++++++++++++++++-- .../tutti/service/referential/SpeciesModel.java | 9 +++- .../tutti/service/referential/VesselModel.java | 4 +- .../resources/i18n/tutti-service_en_GB.properties | 2 + .../resources/i18n/tutti-service_fr_FR.properties | 2 + .../referential/ReferentialImportServiceTest.java | 24 +++++++++++ .../action/ExportExistingTemporaryGearAction.java | 4 +- .../ExportExistingTemporaryPersonAction.java | 4 +- .../ExportExistingTemporarySpeciesAction.java | 4 +- .../ExportExistingTemporaryVesselAction.java | 4 +- .../catches/species/SpeciesBatchRowModel.java | 1 - .../ui/swing/util/AbstractTuttiBeanUIModel.java | 5 +++ .../resources/i18n/tutti-ui-swing_en_GB.properties | 8 ++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 8 ++++ 19 files changed, 150 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 feature/5997 in repository tutti. See http://git.codelutin.com/tutti.git commit 28ddc93e5fcf4251d191439fa4e9bbedc1ce7a15 Author: Kevin Morin <morin@codelutin.com> Date: Fri Oct 24 17:38:58 2014 +0200 refs #5997 [IMPORT] Améliorer la gestion des référentiels temporaires --- .../tutti/persistence/entities/TuttiEntity.java | 4 ++ .../persistence/entities/TuttiEntityBean.java | 5 +++ .../service/ReferentialPersistenceServiceImpl.java | 30 ++++++++++---- .../tutti/service/referential/GearModel.java | 5 ++- .../tutti/service/referential/PersonModel.java | 6 ++- .../referential/ReferentialImportService.java | 48 ++++++++++++++++++++-- .../tutti/service/referential/SpeciesModel.java | 9 +++- .../tutti/service/referential/VesselModel.java | 4 +- .../resources/i18n/tutti-service_en_GB.properties | 2 + .../resources/i18n/tutti-service_fr_FR.properties | 2 + .../referential/ReferentialImportServiceTest.java | 24 +++++++++++ .../action/ExportExistingTemporaryGearAction.java | 4 +- .../ExportExistingTemporaryPersonAction.java | 4 +- .../ExportExistingTemporarySpeciesAction.java | 4 +- .../ExportExistingTemporaryVesselAction.java | 4 +- .../catches/species/SpeciesBatchRowModel.java | 1 - .../ui/swing/util/AbstractTuttiBeanUIModel.java | 5 +++ .../resources/i18n/tutti-ui-swing_en_GB.properties | 8 ++++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 8 ++++ 19 files changed, 150 insertions(+), 27 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntity.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntity.java index c2136a8..edacfe2 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntity.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntity.java @@ -34,12 +34,16 @@ public interface TuttiEntity extends Serializable { public static final String PROPERTY_ID = "id"; + public static final String PROPERTY_ID_AS_INT = "idAsInt"; + String getId(); void setId(String id); Integer getIdAsInt(); + void setIdAsInt(Integer idAsInt); + void setId(Integer id); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntityBean.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntityBean.java index b110487..7cae605 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntityBean.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/TuttiEntityBean.java @@ -70,6 +70,11 @@ public abstract class TuttiEntityBean implements Serializable, TuttiEntity { } @Override + public void setIdAsInt(Integer idAsInt) { + setId(idAsInt); + } + + @Override public boolean equals(Object o) { if (this == o) { return true; diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java index 2db70c7..005d110 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java @@ -45,7 +45,9 @@ import fr.ifremer.adagio.core.dao.referential.pmfm.PmfmId; import fr.ifremer.adagio.core.dao.referential.pmfm.PmfmId2; import fr.ifremer.adagio.core.dao.referential.pmfm.QualitativeValueId; import fr.ifremer.adagio.core.dao.referential.pmfm.UnitId; +import fr.ifremer.adagio.core.dao.referential.taxon.TaxonName; import fr.ifremer.adagio.core.dao.referential.taxon.TaxonNameExtendDao; +import fr.ifremer.adagio.core.dao.referential.taxon.TaxonNameImpl; import fr.ifremer.adagio.core.dao.referential.taxon.TaxonRefVO; import fr.ifremer.adagio.core.dao.referential.transcribing.TranscribingItemTypeId; import fr.ifremer.adagio.core.dao.technical.hibernate.TemporaryDataHelper; @@ -705,9 +707,9 @@ public class ReferentialPersistenceServiceImpl extends AbstractPersistenceServic @Override public boolean isTemporary(TuttiReferentialEntity entity) { Preconditions.checkNotNull(entity); + Preconditions.checkNotNull(entity.getId()); Preconditions.checkNotNull(entity.getStatus()); - return StatusCode.TEMPORARY.getValue().equals( - entity.getStatus().getId()); + return StatusCode.TEMPORARY.getValue().equals(entity.getStatus().getId()) && entity.getIdAsInt() < 0; } @Override @@ -1062,15 +1064,27 @@ public class ReferentialPersistenceServiceImpl extends AbstractPersistenceServic protected Species importTemporarySpecies(Species source) { Preconditions.checkNotNull(source); Preconditions.checkNotNull(source.getName()); + Preconditions.checkArgument(source.getIdAsInt() == null || source.getIdAsInt() < 0); - TaxonRefVO taxonName = new TaxonRefVO(); - taxonName.setName(source.getName()); - taxonName = taxonNameDao.createAsTemporary( - taxonName, - "Added by tutti (file import)."); + TaxonRefVO taxonRefVO = null; + if (source.getId() != null) { + taxonRefVO = taxonNameDao.getTaxonNameReferent(source.getIdAsInt()); + } + if (taxonRefVO == null) { + taxonRefVO = new TaxonRefVO(); + taxonRefVO.setName(source.getName()); + taxonRefVO = taxonNameDao.createAsTemporary( + taxonRefVO, + "Added by tutti (file import)."); + } else { + TaxonName taxonName = load(TaxonNameImpl.class, taxonRefVO.getTaxonNameId()); + taxonName.setName(source.getName()); + taxonRefVO.setName(source.getName()); + taxonNameDao.update(taxonName); + } // update the source - Species result = loadSpecies(taxonName); + Species result = loadSpecies(taxonRefVO); result.setRefTaxCode(result.getExternalCode()); // Add to cache diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/GearModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/GearModel.java index b52faef..cef5773 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/GearModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/GearModel.java @@ -32,6 +32,7 @@ import java.text.ParseException; import java.util.Set; import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; /** * Model to import / export {@link Gear} in csv format. @@ -46,7 +47,7 @@ public class GearModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Gear> // import definition - newMandatoryColumn(Gear.PROPERTY_ID, new Common.IntegerParserFormatter(null, true) { + newMandatoryColumn(Gear.PROPERTY_ID, Gear.PROPERTY_ID_AS_INT, new Common.IntegerParserFormatter(null, true) { @Override public Integer parse(String value) throws ParseException { @@ -58,7 +59,7 @@ public class GearModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Gear> // must also be negative value if (parse >= 0) { - throw new IllegalArgumentException("Id of a temporary gear must be negative, but was: " + parse); + throw new IllegalArgumentException(t("tutti.service.referential.import.gear.idNotNegative.error", parse)); } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/PersonModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/PersonModel.java index 6c9a4e7..80b4530 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/PersonModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/PersonModel.java @@ -29,6 +29,8 @@ import org.nuiton.csv.Common; import java.text.ParseException; +import static org.nuiton.i18n.I18n.t; + /** * Model to import / export {@link Person} in csv format. * @@ -42,7 +44,7 @@ public class PersonModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Per // import definition - newMandatoryColumn(Person.PROPERTY_ID, new Common.IntegerParserFormatter(null, true) { + newMandatoryColumn(Person.PROPERTY_ID, Person.PROPERTY_ID_AS_INT, new Common.IntegerParserFormatter(null, true) { @Override public Integer parse(String value) throws ParseException { @@ -54,7 +56,7 @@ public class PersonModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Per // must also be negative value if (parse >= 0) { - throw new IllegalArgumentException("Id of a temporary person must be negative, but was: " + parse); + throw new IllegalArgumentException(t("tutti.service.referential.import.person.idNotNegative.error", parse)); } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/ReferentialImportService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/ReferentialImportService.java index 46ff4cd..7f58bed 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/ReferentialImportService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/ReferentialImportService.java @@ -28,6 +28,7 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.google.common.io.Files; +import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.referential.Gear; import fr.ifremer.tutti.persistence.entities.referential.Gears; import fr.ifremer.tutti.persistence.entities.referential.Person; @@ -46,11 +47,13 @@ import org.nuiton.csv.Export; import org.nuiton.csv.Import; import org.nuiton.csv.ImportRuntimeException; import org.nuiton.jaxx.application.ApplicationTechnicalException; +import org.springframework.dao.DataRetrievalFailureException; import java.io.BufferedWriter; import java.io.File; import java.io.IOException; import java.io.Reader; +import java.util.HashSet; import java.util.List; import java.util.Set; @@ -82,14 +85,18 @@ public class ReferentialImportService extends AbstractTuttiService { log.info("Will import species from file: " + file); } + List<Species> allSpecies = persistenceService.getAllSpecies(); + // get all species names - Set<String> existingSpeciesName = Sets.newHashSet(Iterables.transform(persistenceService.getAllSpecies(), new Function<Species, String>() { + Set<String> existingSpeciesName = Sets.newHashSet(Iterables.transform(allSpecies, new Function<Species, String>() { @Override public String apply(Species input) { return input.getName(); } })); + List<String> existingSpeciesIds = TuttiEntities.toIds(allSpecies); + List<Species> toImport = Lists.newArrayList(); Reader reader = Files.newReader(file, Charsets.UTF_8); @@ -100,6 +107,12 @@ public class ReferentialImportService extends AbstractTuttiService { try { for (Species bean : importer) { + + String id = bean.getId(); + if (id != null && !existingSpeciesIds.add(id)) { + throw new IllegalArgumentException(t("tutti.service.referential.import.species.notExistingId.error", id)); + } + toImport.add(bean); } importer.close(); @@ -125,8 +138,7 @@ public class ReferentialImportService extends AbstractTuttiService { IOUtils.closeQuietly(reader); } - List<Species> result = - persistenceService.importTemporarySpecies(toImport); + List<Species> result = persistenceService.importTemporarySpecies(toImport); return result; } @@ -193,6 +205,9 @@ public class ReferentialImportService extends AbstractTuttiService { log.info("Will import persons from file: " + file); } + List<Person> allPersons = persistenceService.getAllPerson(); + List<String> existingPersonIds = TuttiEntities.toIds(allPersons); + List<Person> toImport = Lists.newArrayList(); Reader reader = Files.newReader(file, Charsets.UTF_8); @@ -203,13 +218,21 @@ public class ReferentialImportService extends AbstractTuttiService { try { for (Person bean : importer) { + + String id = bean.getId(); + if (id != null && !existingPersonIds.add(id)) { + throw new IllegalArgumentException(t("tutti.service.referential.import.person.notExistingId.error", id)); + } + toImport.add(bean); } importer.close(); + } finally { IOUtils.closeQuietly(importer); } reader.close(); + } catch (IOException e) { throw new IOException(t("tutti.service.referential.import.persons.error", file), e); } finally { @@ -241,6 +264,20 @@ public class ReferentialImportService extends AbstractTuttiService { } })); + Set<String> existingGearIds = Sets.newHashSet(Iterables.transform(persistenceService.getAllFishingGear(), new Function<Gear, String>() { + @Override + public String apply(Gear input) { + return input.getId(); + } + })); + + existingGearIds.addAll(Lists.transform(persistenceService.getAllScientificGear(), new Function<Gear, String>() { + @Override + public String apply(Gear input) { + return input.getId(); + } + })); + List<Gear> toImport = Lists.newArrayList(); Reader reader = Files.newReader(file, Charsets.UTF_8); @@ -251,6 +288,11 @@ public class ReferentialImportService extends AbstractTuttiService { try { for (Gear bean : importer) { + String id = bean.getId(); + if (id != null && !existingGearIds.add(id)) { + throw new IllegalArgumentException(t("tutti.service.referential.import.gear.notExistingId.error", id)); + } + toImport.add(bean); } importer.close(); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/SpeciesModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/SpeciesModel.java index 8ef2174..80c271d 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/SpeciesModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/SpeciesModel.java @@ -22,15 +22,20 @@ package fr.ifremer.tutti.service.referential; * #L% */ +import com.google.common.base.Function; +import com.google.common.collect.Iterables; +import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.persistence.entities.referential.Speciess; import fr.ifremer.tutti.service.TuttiCsvUtil; import org.nuiton.csv.Common; import java.text.ParseException; +import java.util.Collection; import java.util.Set; import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; /** * Model to import / export {@link Species} in csv format. @@ -45,7 +50,7 @@ public class SpeciesModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Sp // import definition - newMandatoryColumn(Species.PROPERTY_ID, new Common.IntegerParserFormatter(null, true) { + newMandatoryColumn(Species.PROPERTY_ID, Species.PROPERTY_ID_AS_INT, new Common.IntegerParserFormatter(null, true) { @Override public Integer parse(String value) throws ParseException { @@ -57,7 +62,7 @@ public class SpeciesModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Sp // must also be negative value if (parse >= 0) { - throw new IllegalArgumentException("Id of a temporary species must be negative, but was: " + parse); + throw new IllegalArgumentException(t("tutti.service.referential.import.species.idNotNegative.error", parse)); } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/VesselModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/VesselModel.java index 5547b46..a3f63d3 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/VesselModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/VesselModel.java @@ -29,6 +29,8 @@ import fr.ifremer.tutti.service.TuttiCsvUtil; import org.apache.commons.lang3.StringUtils; import org.nuiton.csv.Common; +import static org.nuiton.i18n.I18n.t; + /** * Model to import / export {@link Vessel} in csv format. * @@ -54,7 +56,7 @@ public class VesselModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Ves // must also start with the temporary prefix if (!parse.startsWith(TemporaryDataHelper.TEMPORARY_NAME_PREFIX)) { - throw new IllegalArgumentException("Code of a temporary vessel must starts with " + TemporaryDataHelper.TEMPORARY_NAME_PREFIX + ", but was: " + parse); + throw new IllegalArgumentException(t("tutti.service.referential.import.vessel.codePrefixMissing.error", parse));//"Code of a temporary vessel must starts with " + TemporaryDataHelper.TEMPORARY_NAME_PREFIX + ", but was: " + parse); } } diff --git a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties index bbb970e..22a326c 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties @@ -222,6 +222,8 @@ tutti.service.referential.import.gears.error= tutti.service.referential.import.persons.error= tutti.service.referential.import.species.error= tutti.service.referential.import.species.existingName.error= +tutti.service.referential.import.species.idNotNegative.error= +tutti.service.referential.import.species.notExistingId.error= tutti.service.referential.import.vessels.error= tutti.service.referential.import.vessels.existingValue.error= tutti.service.sumatra.export.error= diff --git a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties index a870c3c..b7ed291 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties @@ -202,6 +202,8 @@ tutti.service.referential.import.gears.error=Erreur lors de l'import des engins tutti.service.referential.import.persons.error=Erreur lors de l'import des personnes du fichier %s tutti.service.referential.import.species.error=Erreur lors de l'import des espèces du fichier %s tutti.service.referential.import.species.existingName.error=L'espèce '%2$s' n'a pas été ajoutée au référentiel car elle est déjà présente +tutti.service.referential.import.species.idNotNegative.error=L'identifiant d'une espèce temporaire doit être négatif : %s +tutti.service.referential.import.species.notExistingId.error=L'identifiant '%s' n'a pas été trouvé parmi les espèces temporaires tutti.service.referential.import.vessels.error=Erreur lors de l'import des navires du fichier %s tutti.service.referential.import.vessels.existingValue.error=Un navire avec le nom %1s et l'immatriculation %2s existe déjà dans le référentiel tutti.service.sumatra.export.error=Erreur lors de l'export Sumatra dans le fichier %s diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/referential/ReferentialImportServiceTest.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/referential/ReferentialImportServiceTest.java index a4fcd68..8a70284 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/referential/ReferentialImportServiceTest.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/referential/ReferentialImportServiceTest.java @@ -57,6 +57,10 @@ public class ReferentialImportServiceTest { ";Temporary Species name 2\n" + ";Temporary Species name 3"; + private static final String SPECIES_UPDATE_FILE_CONTENT = + "id;name\n" + + "-1;Temporary Species name 11"; + private static final String GEAR_FILE_CONTENT = "id;name;label;scientificGear\n" + ";Gear fishing name 1;Gear fishing label 1;N\n" + @@ -106,6 +110,16 @@ public class ReferentialImportServiceTest { Files.createParentDirs(file); + Files.write(SPECIES_UPDATE_FILE_CONTENT, file, Charsets.UTF_8); + // try to import not existing id + try { + service.importTemporarySpecies(file); + Assert.fail(); + } catch (ApplicationTechnicalException e) { + Assert.assertTrue(true); + } + + // successful import Files.write(SPECIES_FILE_CONTENT, file, Charsets.UTF_8); List<Species> result = service.importTemporarySpecies(file); @@ -125,6 +139,16 @@ public class ReferentialImportServiceTest { } catch (ApplicationTechnicalException e) { Assert.assertTrue(true); } + + // try to update species with id -1 + Files.write(SPECIES_UPDATE_FILE_CONTENT, file, Charsets.UTF_8); + result = service.importTemporarySpecies(file); + Assert.assertNotNull(result); + Assert.assertEquals(1, result.size()); + Species actual = result.get(0); + Assert.assertNotNull(actual); + Assert.assertEquals("-1", actual.getId()); + Assert.assertEquals("Temporary Species name 11", actual.getName()); } @Test diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryGearAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryGearAction.java index c29a55e..61b834c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryGearAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryGearAction.java @@ -64,7 +64,7 @@ public class ExportExistingTemporaryGearAction extends AbstractTuttiAction<Tutti "exportTemporaryGear", "csv", t("tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryGearFile"), - t("tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export"), + t("tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export"), "^.*\\.csv", t("tutti.common.file.csv") ); doAction = file != null; @@ -95,6 +95,6 @@ public class ExportExistingTemporaryGearAction extends AbstractTuttiAction<Tutti @Override public void postSuccessAction() { super.postSuccessAction(); - sendMessage(t("tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export.success", file)); + sendMessage(t("tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export.success", file)); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryPersonAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryPersonAction.java index c7b5419..3bc6ca4 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryPersonAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryPersonAction.java @@ -65,7 +65,7 @@ public class ExportExistingTemporaryPersonAction extends AbstractTuttiAction<Tut "exportTemporaryPerson", "csv", t("tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryPersonFile"), - t("tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export"), + t("tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export"), "^.*\\.csv", t("tutti.common.file.csv") ); doAction = file != null; @@ -96,6 +96,6 @@ public class ExportExistingTemporaryPersonAction extends AbstractTuttiAction<Tut @Override public void postSuccessAction() { super.postSuccessAction(); - sendMessage(t("tutti.manageTemporaryReferential.action.chooseReferentialPersonFile.export.success", file)); + sendMessage(t("tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export.success", file)); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporarySpeciesAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporarySpeciesAction.java index 3a8fa82..fa6da80 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporarySpeciesAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporarySpeciesAction.java @@ -64,7 +64,7 @@ public class ExportExistingTemporarySpeciesAction extends AbstractTuttiAction<Tu "exportTemporarySpecies", "csv", t("tutti.manageTemporaryReferential.title.choose.exportExistingTemporarySpeciesFile"), - t("tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export"), + t("tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export"), "^.*\\.csv", t("tutti.common.file.csv") ); doAction = file != null; @@ -95,6 +95,6 @@ public class ExportExistingTemporarySpeciesAction extends AbstractTuttiAction<Tu @Override public void postSuccessAction() { super.postSuccessAction(); - sendMessage(t("tutti.manageTemporaryReferential.action.chooseReferentialSpeciesFile.export.success", file)); + sendMessage(t("tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export.success", file)); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryVesselAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryVesselAction.java index 60acd90..314d4f5 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryVesselAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportExistingTemporaryVesselAction.java @@ -64,7 +64,7 @@ public class ExportExistingTemporaryVesselAction extends AbstractTuttiAction<Tut "exportTemporaryExample", "csv", t("tutti.manageTemporaryReferential.title.choose.exportExistingTemporaryVesselFile"), - t("tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export"), + t("tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export"), "^.*\\.csv", t("tutti.common.file.csv") ); doAction = file != null; @@ -95,6 +95,6 @@ public class ExportExistingTemporaryVesselAction extends AbstractTuttiAction<Tut @Override public void postSuccessAction() { super.postSuccessAction(); - sendMessage(t("tutti.manageTemporaryReferential.action.chooseReferentialVesselFile.export.success", file)); + sendMessage(t("tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export.success", file)); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java index 83abebf..710cf51 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java @@ -30,7 +30,6 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.SampleCategory; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModelEntry; -import fr.ifremer.tutti.persistence.entities.data.SpeciesAbleBatch; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchs; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java index 8a240b8..bf71bee 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java @@ -117,6 +117,11 @@ public abstract class AbstractTuttiBeanUIModel<E, B extends AbstractTuttiBeanUIM } @Override + public void setIdAsInt(Integer idAsInt) { + setId(idAsInt); + } + + @Override public void setId(Integer id) { if (id == null) { this.id = null; diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 79d4b9d..afb9155 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1405,6 +1405,14 @@ tutti.main.title.nodb= tutti.main.title.selectedCruise= tutti.main.title.selectedProgram= tutti.main.title.selectedProtocol= +tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export.success= +tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export.success= +tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export.success= +tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export.success= tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export= tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export.success= tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index 280d5a9..c301fa5 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1362,6 +1362,14 @@ tutti.main.title.nodb=Pas de base chargée tutti.main.title.selectedCruise=Campagne %s tutti.main.title.selectedProgram=Série de campagne %s tutti.main.title.selectedProtocol=Protocole %s +tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialGearFile.export.success= +tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialPersonFile.export.success= +tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialSpeciesFile.export.success= +tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export= +tutti.manageTemporaryReferential.action.chooseExistingReferentialVesselFile.export.success= tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export=Exporter tutti.manageTemporaryReferential.action.chooseReferentialGearFile.export.success=Exemple de référentiel temporaire d'engins exporté dans le fichier %s tutti.manageTemporaryReferential.action.chooseReferentialGearFile.import=Importer -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm