branch develop updated (63bb4db -> b24f255)
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 63bb4db fixes #6290 [CAPTURE] si je modifie la valeur d'une classe de taille avec une classe de taille qui existe déjà dans le tableau... new b24f255 fixes #6298 [PROTOCOLE] champ heure à ajouter 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 b24f255cbd8fa25374158a86dd183fe02fcb27ae Author: Kevin Morin <morin@codelutin.com> Date: Mon Dec 15 10:49:02 2014 +0100 fixes #6298 [PROTOCOLE] champ heure à ajouter Summary of changes: .../entities/data/FishingOperations.java | 13 ++++ .../fr/ifremer/tutti/service/TuttiCsvUtil.java | 2 + .../operationimport/ImportFromColumnFileModel.java | 81 ++++++++++++++++++++-- .../content/protocol/EditProtocolUIHandler.java | 13 +++- .../resources/i18n/tutti-ui-swing_en_GB.properties | 4 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 4 ++ 6 files changed, 111 insertions(+), 6 deletions(-) create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/FishingOperations.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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit b24f255cbd8fa25374158a86dd183fe02fcb27ae Author: Kevin Morin <morin@codelutin.com> Date: Mon Dec 15 10:49:02 2014 +0100 fixes #6298 [PROTOCOLE] champ heure à ajouter --- .../entities/data/FishingOperations.java | 13 ++++ .../fr/ifremer/tutti/service/TuttiCsvUtil.java | 2 + .../operationimport/ImportFromColumnFileModel.java | 81 ++++++++++++++++++++-- .../content/protocol/EditProtocolUIHandler.java | 13 +++- .../resources/i18n/tutti-ui-swing_en_GB.properties | 4 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 4 ++ 6 files changed, 111 insertions(+), 6 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/FishingOperations.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/FishingOperations.java new file mode 100644 index 0000000..8ce113a --- /dev/null +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/data/FishingOperations.java @@ -0,0 +1,13 @@ +package fr.ifremer.tutti.persistence.entities.data; + +import javax.annotation.Generated; + +@Generated(value = "org.nuiton.eugene.java.SimpleJavaBeanTransformer", date = "Fri Dec 12 17:02:04 CET 2014") +public class FishingOperations extends AbstractFishingOperations { + + public static final String PROPERTY_GEAR_SHOOTING_START_DAY = "gearShootingStartDay"; + public static final String PROPERTY_GEAR_SHOOTING_START_TIME = "gearShootingStartTime"; + public static final String PROPERTY_GEAR_SHOOTING_END_DAY = "gearShootingEndDay"; + public static final String PROPERTY_GEAR_SHOOTING_END_TIME = "gearShootingEndTime"; + +} //FishingOperations diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java index 3206ce0..672cd55 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiCsvUtil.java @@ -191,6 +191,8 @@ public class TuttiCsvUtil extends Common { } }; + public static final ValueParserFormatter<Date> TIME = new DateValue("HH:mm"); + public static abstract class AbstractTuttiImportExportModel<M> extends AbstractImportExportModel<M> { public AbstractTuttiImportExportModel(char separator) { diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileModel.java index 0fedc3a..3de3804 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/operationimport/ImportFromColumnFileModel.java @@ -27,6 +27,7 @@ package fr.ifremer.tutti.service.operationimport; import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.data.FishingOperations; import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicMappingRow; import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicType; import fr.ifremer.tutti.persistence.entities.protocol.OperationFieldMappingRow; @@ -41,12 +42,16 @@ import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.service.TuttiCsvUtil; import fr.ifremer.tutti.service.TuttiDataContext; import org.apache.commons.lang3.StringUtils; +import org.nuiton.csv.Common; import org.nuiton.csv.ValueParser; import org.nuiton.csv.ValueSetter; +import org.nuiton.util.DateUtil; import java.io.Serializable; import java.util.ArrayList; +import java.util.Calendar; import java.util.Collection; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; @@ -79,6 +84,7 @@ public class ImportFromColumnFileModel extends TuttiCsvUtil.AbstractTuttiImportM if (StringUtils.isNotBlank(importColumn) && importColumnsInHeaders) { String field = mappingRow.getField(); + ValueSetter valueSetter = null; ValueParser valueParser; switch (field) { case FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER: @@ -93,9 +99,70 @@ public class ImportFromColumnFileModel extends TuttiCsvUtil.AbstractTuttiImportM valueParser = TuttiCsvUtil.FLOAT; break; - case FishingOperation.PROPERTY_GEAR_SHOOTING_START_DATE: - case FishingOperation.PROPERTY_GEAR_SHOOTING_END_DATE: - valueParser = TuttiCsvUtil.DAY_TIME; + case FishingOperations.PROPERTY_GEAR_SHOOTING_START_DAY: + valueParser = TuttiCsvUtil.DAY; + valueSetter = new ValueSetter<FishingOperation, Date>() { + @Override + public void set(FishingOperation bean, Date value) throws Exception { + Date date = bean.getGearShootingStartDate(); + if (date == null) { + date = value; + + } else { + date = DateUtil.getDateAndTime(value, date, false, false); + } + bean.setGearShootingStartDate(date); + } + }; + break; + case FishingOperations.PROPERTY_GEAR_SHOOTING_END_DAY: + valueParser = TuttiCsvUtil.DAY; + valueSetter = new ValueSetter<FishingOperation, Date>() { + @Override + public void set(FishingOperation bean, Date value) throws Exception { + Date date = bean.getGearShootingEndDate(); + if (date == null) { + date = value; + + } else { + date = DateUtil.getDateAndTime(value, date, false, false); + } + bean.setGearShootingEndDate(date); + } + }; + break; + + case FishingOperations.PROPERTY_GEAR_SHOOTING_START_TIME: + valueParser = TuttiCsvUtil.TIME; + valueSetter = new ValueSetter<FishingOperation, Date>() { + @Override + public void set(FishingOperation bean, Date value) throws Exception { + Date date = bean.getGearShootingStartDate(); + if (date == null) { + date = value; + + } else { + date = DateUtil.getDateAndTime(date, value, false, false); + } + bean.setGearShootingStartDate(date); + } + }; + break; + case FishingOperations.PROPERTY_GEAR_SHOOTING_END_TIME: + valueParser = TuttiCsvUtil.TIME; + valueSetter = new ValueSetter<FishingOperation, Date>() { + @Override + public void set(FishingOperation bean, Date value) throws Exception { + Date date = bean.getGearShootingEndDate(); + if (date == null) { + date = value; + + } else { + date = DateUtil.getDateAndTime(date, value, false, false); + } + bean.setGearShootingEndDate(date); + } + }; break; case FishingOperation.PROPERTY_FISHING_OPERATION_RECTILIGNE: @@ -154,7 +221,13 @@ public class ImportFromColumnFileModel extends TuttiCsvUtil.AbstractTuttiImportM valueParser = TuttiCsvUtil.STRING; } - newMandatoryColumn(importColumn, field, valueParser); + + if (valueSetter == null) { + newMandatoryColumn(importColumn, field, valueParser); + + } else { + newMandatoryColumn(importColumn, valueParser, valueSetter); + } } else if (!importColumnsInHeaders) { throw new ImportFromColumnFileMissingHeaderException(importColumn); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java index 8333438..573498a 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java @@ -32,6 +32,7 @@ import com.google.common.collect.Multimap; import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.TuttiEntities; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.data.FishingOperations; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel; import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModelEntry; import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicMappingRow; @@ -88,6 +89,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -717,13 +719,20 @@ public class EditProtocolUIHandler extends AbstractTuttiUIHandler<EditProtocolUI } }); + n("tutti.editFishingOperation.field.gearShootingStartDay"); + n("tutti.editFishingOperation.field.gearShootingStartTime"); + n("tutti.editFishingOperation.field.gearShootingEndDay"); + n("tutti.editFishingOperation.field.gearShootingEndTime"); + List<String> properties = Lists.newArrayList( FishingOperation.PROPERTY_STATION_NUMBER, FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, - FishingOperation.PROPERTY_GEAR_SHOOTING_START_DATE, + FishingOperations.PROPERTY_GEAR_SHOOTING_START_DAY, + FishingOperations.PROPERTY_GEAR_SHOOTING_START_TIME, FishingOperation.PROPERTY_GEAR_SHOOTING_START_LATITUDE, FishingOperation.PROPERTY_GEAR_SHOOTING_START_LONGITUDE, - FishingOperation.PROPERTY_GEAR_SHOOTING_END_DATE, + FishingOperations.PROPERTY_GEAR_SHOOTING_END_DAY, + FishingOperations.PROPERTY_GEAR_SHOOTING_END_TIME, FishingOperation.PROPERTY_GEAR_SHOOTING_END_LATITUDE, FishingOperation.PROPERTY_GEAR_SHOOTING_END_LONGITUDE, FishingOperation.PROPERTY_FISHING_OPERATION_RECTILIGNE, 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 c807422..8e25091 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 @@ -745,17 +745,21 @@ tutti.editFishingOperation.field.gearLongitude.tip= tutti.editFishingOperation.field.gearShootingEnd= tutti.editFishingOperation.field.gearShootingEnd.tip= tutti.editFishingOperation.field.gearShootingEndDate= +tutti.editFishingOperation.field.gearShootingEndDay= tutti.editFishingOperation.field.gearShootingEndLatitude= tutti.editFishingOperation.field.gearShootingEndLatitude.tip= tutti.editFishingOperation.field.gearShootingEndLongitude= tutti.editFishingOperation.field.gearShootingEndLongitude.tip= +tutti.editFishingOperation.field.gearShootingEndTime= tutti.editFishingOperation.field.gearShootingStart= tutti.editFishingOperation.field.gearShootingStart.tip= tutti.editFishingOperation.field.gearShootingStartDate= +tutti.editFishingOperation.field.gearShootingStartDay= tutti.editFishingOperation.field.gearShootingStartLatitude= tutti.editFishingOperation.field.gearShootingStartLatitude.tip= tutti.editFishingOperation.field.gearShootingStartLongitude= tutti.editFishingOperation.field.gearShootingStartLongitude.tip= +tutti.editFishingOperation.field.gearShootingStartTime= tutti.editFishingOperation.field.gearTime= tutti.editFishingOperation.field.gearTime.tip= tutti.editFishingOperation.field.location= 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 09b59bf..516d354 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 @@ -727,17 +727,21 @@ tutti.editFishingOperation.field.gearLongitude.tip=Longitude tutti.editFishingOperation.field.gearShootingEnd=Fin de traîne tutti.editFishingOperation.field.gearShootingEnd.tip=Informations sur la fin de pêche tutti.editFishingOperation.field.gearShootingEndDate=Date de fin de traîne +tutti.editFishingOperation.field.gearShootingEndDay=Jour de fin de traîne tutti.editFishingOperation.field.gearShootingEndLatitude=Latitude de fin de traîne tutti.editFishingOperation.field.gearShootingEndLatitude.tip=<html><body>Latitude de fin de traîne.<br/><strong>Attention, pour saisir une latitude négative en mode DD, il faut entrer -.XXX et non pas -0.XXX</strong></body></html> tutti.editFishingOperation.field.gearShootingEndLongitude=Longitude de fin de traîne tutti.editFishingOperation.field.gearShootingEndLongitude.tip=<html><body>Longitude de fin de traîne.<br/><strong>Attention, pour saisir une longitude négative en mode DD, il faut entrer -.XXX et non pas -0.XXX</strong></body></html> +tutti.editFishingOperation.field.gearShootingEndTime=Heure de fin de traîne tutti.editFishingOperation.field.gearShootingStart=Début de traîne tutti.editFishingOperation.field.gearShootingStart.tip=Informations sur le début de pêche tutti.editFishingOperation.field.gearShootingStartDate=Date de début de traîne +tutti.editFishingOperation.field.gearShootingStartDay=Jour de début de traîne tutti.editFishingOperation.field.gearShootingStartLatitude=Latitude de début de traîne tutti.editFishingOperation.field.gearShootingStartLatitude.tip=<html><body>Latitude de début de traîne.<br/><strong>Attention, pour saisir une latitude négative en mode DD, il faut entrer -.XXX et non pas -0.XXX</strong></body></html> tutti.editFishingOperation.field.gearShootingStartLongitude=Longitude de début de traîne tutti.editFishingOperation.field.gearShootingStartLongitude.tip=<html><body>Longitude de début de traîne.<br/><strong>Attention, pour saisir une longitude négative en mode DD, il faut entrer -.XXX et non pas -0.XXX</strong></body></html> +tutti.editFishingOperation.field.gearShootingStartTime=Heure de début de traîne tutti.editFishingOperation.field.gearTime=Heure tutti.editFishingOperation.field.gearTime.tip=Heures de début et fin de trait tutti.editFishingOperation.field.location=Localité -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm