[tutti] branch feature/5997 updated (7e50587 -> a5fd69d)
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 7e50587 refs #5997 split import - export service + begin of implements delete and other stuff... new a5fd69d refs #5997 adapt import - export models 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 a5fd69ddb2fc237cac72a2ef7b4cf3d8c1461f06 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Oct 21 18:35:06 2014 +0200 refs #5997 adapt import - export models Summary of changes: .../entities/data/SpeciesAbleBatch.java | 67 ---------------------- .../tutti/service/referential/GearModel.java | 24 ++++++++ .../tutti/service/referential/PersonModel.java | 25 ++++++++ .../tutti/service/referential/SpeciesModel.java | 24 ++++++++ .../tutti/service/referential/VesselModel.java | 25 ++++++++ .../tutti/service/PersistenceServiceTest.java | 20 +++---- .../referential/ReferentialExportServiceTest.java | 36 ++++++------ .../referential/ReferentialImportServiceTest.java | 48 ++++++++-------- 8 files changed, 150 insertions(+), 119 deletions(-) delete mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SpeciesAbleBatch.java -- 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 a5fd69ddb2fc237cac72a2ef7b4cf3d8c1461f06 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Oct 21 18:35:06 2014 +0200 refs #5997 adapt import - export models --- .../entities/data/SpeciesAbleBatch.java | 67 ---------------------- .../tutti/service/referential/GearModel.java | 24 ++++++++ .../tutti/service/referential/PersonModel.java | 25 ++++++++ .../tutti/service/referential/SpeciesModel.java | 24 ++++++++ .../tutti/service/referential/VesselModel.java | 25 ++++++++ .../tutti/service/PersistenceServiceTest.java | 20 +++---- .../referential/ReferentialExportServiceTest.java | 36 ++++++------ .../referential/ReferentialImportServiceTest.java | 48 ++++++++-------- 8 files changed, 150 insertions(+), 119 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SpeciesAbleBatch.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SpeciesAbleBatch.java deleted file mode 100644 index bcc1ce3..0000000 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/SpeciesAbleBatch.java +++ /dev/null @@ -1,67 +0,0 @@ -package fr.ifremer.tutti.persistence.entities.data; - -import fr.ifremer.tutti.persistence.entities.CommentAware; -import fr.ifremer.tutti.persistence.entities.TuttiEntity; -import fr.ifremer.tutti.persistence.entities.referential.Species; -import java.io.Serializable; -import java.util.List; -import javax.annotation.Generated; - -@Generated(value = "org.nuiton.eugene.java.JavaInterfaceTransformer", date = "Mon Oct 20 10:51:27 CEST 2014") -public interface SpeciesAbleBatch extends TuttiEntity, CommentAware { - - Species getSpecies(); - - void setSpecies(Species species); - - Integer getSampleCategoryId(); - - Serializable getSampleCategoryValue(); - - Float getSampleCategoryWeight(); - - Integer getNumber(); - - boolean isSpeciesToConfirm(); - - Float getSampleCategoryComputedWeight(); - - Integer getComputedNumber(); - - Float getComputedWeight(); - - void setSampleCategoryId(Integer categoryId); - - void setSampleCategoryValue(Serializable categoryValue); - - void setSampleCategoryWeight(Float categoryWeight); - - void setNumber(Integer number); - - void setSpeciesToConfirm(boolean speciesToConfirm); - - void setSampleCategoryComputedWeight(Float sampleCategoryComputedWeight); - - void setComputedNumber(Integer computedNumber); - - void setComputedWeight(Float computedWeight); - - SpeciesAbleBatch getParentBatch(); - - boolean isChildBatchsEmpty(); - - List<? extends SpeciesAbleBatch> getChildBatchs(); - - Float getWeight(); - - void setWeight(Float weight); - - Integer getRankOrder(); - - void setRankOrder(Integer rankOrder); - - void setParentBatch(SpeciesAbleBatch parentBatch); - - void setChildBatchs(List childs); - -} //SpeciesAbleBatch 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 1ad905f..b52faef 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 @@ -24,9 +24,11 @@ package fr.ifremer.tutti.service.referential; import fr.ifremer.tutti.persistence.entities.referential.Gear; import fr.ifremer.tutti.persistence.entities.referential.Gears; +import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.service.TuttiCsvUtil; import org.nuiton.csv.Common; +import java.text.ParseException; import java.util.Set; import static org.nuiton.i18n.I18n.n; @@ -44,12 +46,34 @@ public class GearModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Gear> // import definition + newMandatoryColumn(Gear.PROPERTY_ID, new Common.IntegerParserFormatter(null, true) { + + @Override + public Integer parse(String value) throws ParseException { + + // must be an integer + Integer parse = super.parse(value); + + if (parse != null) { + + // must also be negative value + if (parse >= 0) { + throw new IllegalArgumentException("Id of a temporary gear must be negative, but was: " + parse); + } + } + + return parse; + + } + + }); newNotExistingValueColumn(Gear.PROPERTY_NAME, existingGearName, n("tutti.service.referential.import.gear.existingName.error")); newMandatoryColumn(Gear.PROPERTY_LABEL); newMandatoryColumn(Gear.PROPERTY_SCIENTIFIC_GEAR, Common.PRIMITIVE_BOOLEAN); // export definition + newColumnForExport(Gear.PROPERTY_ID); newColumnForExport(Gear.PROPERTY_NAME); newColumnForExport(Gear.PROPERTY_LABEL); newColumnForExport(Gear.PROPERTY_SCIENTIFIC_GEAR, Common.PRIMITIVE_BOOLEAN); 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 5fc670d..6c9a4e7 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 @@ -25,6 +25,9 @@ package fr.ifremer.tutti.service.referential; import fr.ifremer.tutti.persistence.entities.referential.Person; import fr.ifremer.tutti.persistence.entities.referential.Persons; import fr.ifremer.tutti.service.TuttiCsvUtil; +import org.nuiton.csv.Common; + +import java.text.ParseException; /** * Model to import / export {@link Person} in csv format. @@ -39,11 +42,33 @@ public class PersonModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Per // import definition + newMandatoryColumn(Person.PROPERTY_ID, new Common.IntegerParserFormatter(null, true) { + + @Override + public Integer parse(String value) throws ParseException { + + // must be an integer + Integer parse = super.parse(value); + + if (parse != null) { + + // must also be negative value + if (parse >= 0) { + throw new IllegalArgumentException("Id of a temporary person must be negative, but was: " + parse); + } + } + + return parse; + + } + + }); newMandatoryColumn(Person.PROPERTY_FIRST_NAME); newMandatoryColumn(Person.PROPERTY_LAST_NAME); // export definition + newColumnForExport(Person.PROPERTY_ID); newColumnForExport(Person.PROPERTY_FIRST_NAME); newColumnForExport(Person.PROPERTY_LAST_NAME); } 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 019af0b..8ef2174 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 @@ -25,7 +25,9 @@ package fr.ifremer.tutti.service.referential; 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.Set; import static org.nuiton.i18n.I18n.n; @@ -43,10 +45,32 @@ public class SpeciesModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Sp // import definition + newMandatoryColumn(Species.PROPERTY_ID, new Common.IntegerParserFormatter(null, true) { + + @Override + public Integer parse(String value) throws ParseException { + + // must be an integer + Integer parse = super.parse(value); + + if (parse != null) { + + // must also be negative value + if (parse >= 0) { + throw new IllegalArgumentException("Id of a temporary species must be negative, but was: " + parse); + } + } + + return parse; + + } + + }); newNotExistingValueColumn(Species.PROPERTY_NAME, existingSpeciesName, n("tutti.service.referential.import.species.existingName.error")); // export definition + newColumnForExport(Species.PROPERTY_ID); newColumnForExport(Species.PROPERTY_NAME); } 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 94b3a3f..5547b46 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 @@ -22,9 +22,11 @@ package fr.ifremer.tutti.service.referential; * #L% */ +import fr.ifremer.adagio.core.dao.technical.hibernate.TemporaryDataHelper; import fr.ifremer.tutti.persistence.entities.referential.Vessel; import fr.ifremer.tutti.persistence.entities.referential.Vessels; import fr.ifremer.tutti.service.TuttiCsvUtil; +import org.apache.commons.lang3.StringUtils; import org.nuiton.csv.Common; /** @@ -40,12 +42,35 @@ public class VesselModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<Ves // import definition + newMandatoryColumn("id", Vessel.PROPERTY_REGISTRATION_CODE, new Common.StringValueParser() { + + @Override + public String parse(String value) { + + // must be an integer + String parse = super.parse(value); + + if (StringUtils.isNotBlank(parse)) { + + // 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); + } + } + + return parse; + + } + + }); + newMandatoryColumn(Vessel.PROPERTY_NAME); newMandatoryColumn(Vessel.PROPERTY_INTERNATIONAL_REGISTRATION_CODE); newMandatoryColumn(Vessel.PROPERTY_SCIENTIFIC_VESSEL, Common.PRIMITIVE_BOOLEAN); // export definition + newColumnForExport("id", Vessel.PROPERTY_REGISTRATION_CODE); newColumnForExport(Vessel.PROPERTY_NAME); newColumnForExport(Vessel.PROPERTY_INTERNATIONAL_REGISTRATION_CODE); newColumnForExport(Vessel.PROPERTY_SCIENTIFIC_VESSEL, Common.PRIMITIVE_BOOLEAN); diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/PersistenceServiceTest.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/PersistenceServiceTest.java index 0915db0..098b3d4 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/PersistenceServiceTest.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/PersistenceServiceTest.java @@ -91,7 +91,7 @@ public class PersistenceServiceTest { Gear source = service.getGear(-3); Gear target = service.getGear(377); - service.replaceGear(source, target, ); + service.replaceGear(source, target, false); } { @@ -110,7 +110,7 @@ public class PersistenceServiceTest { Gear source = service.getGear(-4); Gear target = service.getGear(378); - service.replaceGear(source, target, ); + service.replaceGear(source, target,false ); } { @@ -152,7 +152,7 @@ public class PersistenceServiceTest { Person source = service.getPerson(-1); Person target = service.getPerson(1); - service.replacePerson(source, target, ); + service.replacePerson(source, target, false); } { service = dbResource.getServiceContext().getService(PersistenceService.class); @@ -169,7 +169,7 @@ public class PersistenceServiceTest { Person source = service.getPerson(-2); Person target = service.getPerson(2); - service.replacePerson(source, target, ); + service.replacePerson(source, target, false); } { Cruise cruise = service.getCruise("0"); @@ -184,7 +184,7 @@ public class PersistenceServiceTest { Person source = service.getPerson(-3); Person target = service.getPerson(3); - service.replacePerson(source, target, ); + service.replacePerson(source, target, false); } { Cruise cruise = service.getCruise("0"); @@ -225,7 +225,7 @@ public class PersistenceServiceTest { Species source = service.getSpeciesByReferenceTaxonId(-1); Species target = service.getSpeciesByReferenceTaxonId(1); - service.replaceSpecies(source, target, ); + service.replaceSpecies(source, target, false); } { @@ -246,7 +246,7 @@ public class PersistenceServiceTest { Species source = service.getSpeciesByReferenceTaxonId(-2); Species target = service.getSpeciesByReferenceTaxonId(2); - service.replaceSpecies(source, target, ); + service.replaceSpecies(source, target,false ); } { @@ -266,7 +266,7 @@ public class PersistenceServiceTest { Species source = service.getSpeciesByReferenceTaxonId(-3); Species target = service.getSpeciesByReferenceTaxonId(3); - service.replaceSpecies(source, target, ); + service.replaceSpecies(source, target, false); } { @@ -307,7 +307,7 @@ public class PersistenceServiceTest { Vessel source = service.getVessel("#TEMP¿International registration code S3"); Vessel target = service.getVessel("267206"); - service.replaceVessel(source, target, ); + service.replaceVessel(source, target, false); } { Cruise cruise = service.getCruise("0"); @@ -322,7 +322,7 @@ public class PersistenceServiceTest { Vessel source = service.getVessel("#TEMP¿International registration code S4"); Vessel target = service.getVessel("278970"); - service.replaceVessel(source, target, ); + service.replaceVessel(source, target, false); } { Cruise cruise = service.getCruise("0"); diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/referential/ReferentialExportServiceTest.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/referential/ReferentialExportServiceTest.java index 8c5f62e..c708391 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/referential/ReferentialExportServiceTest.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/referential/ReferentialExportServiceTest.java @@ -46,30 +46,30 @@ public class ReferentialExportServiceTest { protected File dataDirectory; private static final String SPECIES_FILE_CONTENT = - "name\n" + - "Temporary Species name 1\n" + - "Temporary Species name 2\n" + - "Temporary Species name 3"; + "id;name\n" + + ";Temporary Species name 1\n" + + ";Temporary Species name 2\n" + + ";Temporary Species name 3"; private static final String GEAR_FILE_CONTENT = - "name;label;scientificGear\n" + - "Gear fishing name 1;Gear fishing label 1;N\n" + - "Gear fishing name 2;Gear fishing label 2;N\n" + - "Gear scientific name 3;Gear scientific label 3;Y\n" + - "Gear scientific name 4;Gear scientific label 4;Y"; + "id;name;label;scientificGear\n" + + ";Gear fishing name 1;Gear fishing label 1;N\n" + + ";Gear fishing name 2;Gear fishing label 2;N\n" + + ";Gear scientific name 3;Gear scientific label 3;Y\n" + + ";Gear scientific name 4;Gear scientific label 4;Y"; private static final String PERSON_FILE_CONTENT = - "firstName;lastName\n" + - "First name 1;Last name 1\n" + - "First name 2;Last name 2\n" + - "First name 3;Last name 3"; + "id;firstName;lastName\n" + + ";First name 1;Last name 1\n" + + ";First name 2;Last name 2\n" + + ";First name 3;Last name 3"; private static final String VESSEL_FILE_CONTENT = - "name;internationalRegistrationCode;scientificVessel\n" + - "Temporary fishing vessel name 1;International registration code F1;N\n" + - "Temporary fishing vessel name 2;International registration code F2;N\n" + - "Temporary scientific vessel name 3;International registration code S3;Y\n" + - "Temporary scientific vessel name 4;International registration code S4;Y"; + "id;name;internationalRegistrationCode;scientificVessel\n" + + ";Temporary fishing vessel name 1;International registration code F1;N\n" + + ";Temporary fishing vessel name 2;International registration code F2;N\n" + + ";Temporary scientific vessel name 3;International registration code S3;Y\n" + + ";Temporary scientific vessel name 4;International registration code S4;Y"; protected ReferentialImportService service; 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 3a840b3..a4fcd68 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 @@ -52,38 +52,38 @@ public class ReferentialImportServiceTest { protected File dataDirectory; private static final String SPECIES_FILE_CONTENT = - "name\n" + - "Temporary Species name 1\n" + - "Temporary Species name 2\n" + - "Temporary Species name 3"; + "id;name\n" + + ";Temporary Species name 1\n" + + ";Temporary Species name 2\n" + + ";Temporary Species name 3"; private static final String GEAR_FILE_CONTENT = - "name;label;scientificGear\n" + - "Gear fishing name 1;Gear fishing label 1;N\n" + - "Gear fishing name 2;Gear fishing label 2;N\n" + - "Gear scientific name 3;Gear scientific label 3;Y\n" + - "Gear scientific name 4;Gear scientific label 4;Y"; + "id;name;label;scientificGear\n" + + ";Gear fishing name 1;Gear fishing label 1;N\n" + + ";Gear fishing name 2;Gear fishing label 2;N\n" + + ";Gear scientific name 3;Gear scientific label 3;Y\n" + + ";Gear scientific name 4;Gear scientific label 4;Y"; private static final String PERSON_FILE_CONTENT = - "firstName;lastName\n" + - "First name 1;Last name 1\n" + - "First name 2;Last name 2\n" + - "First name 3;Last name 3"; + "id;firstName;lastName\n" + + ";First name 1;Last name 1\n" + + ";First name 2;Last name 2\n" + + ";First name 3;Last name 3"; private static final String VESSEL_FILE_CONTENT = - "name;internationalRegistrationCode;scientificVessel\n" + - "Temporary fishing vessel name 1;International registration code F1;N\n" + - "Temporary fishing vessel name 2;International registration code F2;N\n" + - "Temporary scientific vessel name 3;International registration code S3;Y\n" + - "Temporary scientific vessel name 4;International registration code S4;Y"; + "id;name;internationalRegistrationCode;scientificVessel\n" + + ";Temporary fishing vessel name 1;International registration code F1;N\n" + + ";Temporary fishing vessel name 2;International registration code F2;N\n" + + ";Temporary scientific vessel name 3;International registration code S3;Y\n" + + ";Temporary scientific vessel name 4;International registration code S4;Y"; private static final String DUPLICATE_VESSEL_FILE_CONTENT = - "name;internationalRegistrationCode;scientificVessel\n" + - "Temporary fishing vessel name 1;International registration code F1;N\n" + - "Temporary fishing vessel name 1;International registration code F1;N\n" + - "Temporary fishing vessel name 2;International registration code F2;N\n" + - "Temporary scientific vessel name 3;International registration code S3;Y\n" + - "Temporary scientific vessel name 4;International registration code S4;Y"; + "id;name;internationalRegistrationCode;scientificVessel\n" + + ";Temporary fishing vessel name 1;International registration code F1;N\n" + + ";Temporary fishing vessel name 1;International registration code F1;N\n" + + ";Temporary fishing vessel name 2;International registration code F2;N\n" + + ";Temporary scientific vessel name 3;International registration code S3;Y\n" + + ";Temporary scientific vessel name 4;International registration code S4;Y"; protected ReferentialImportService service; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm