Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: ee9d7059 by Tony CHEMIT at 2018-10-01T14:18:53Z Petit renommage de libellé - Closes #1099 - - - - - 0b137008 by Tony CHEMIT at 2018-10-01T14:19:08Z Extension de fichier du rapport de validation - Closes #1102 - - - - - 69c29cee by Tony CHEMIT at 2018-10-01T14:19:20Z Widget température °C/°F : message de validation perfectible - Closes #960 (il restait une validation de température au niveau des routes) - - - - - 02e91427 by Tony CHEMIT at 2018-10-01T14:19:34Z Le calcul des vitesses a eu un raté après avoir fait usage de la fonction "Voulez-vous créer l'activité de fin de veille ?" - See #1100 - - - - - 6 changed files: - client/src/main/java/fr/ird/observe/client/ui/admin/validate/ValidateModel.java - client/src/main/resources/i18n/client_en_GB.properties - client/src/main/resources/i18n/client_es_ES.properties - client/src/main/resources/i18n/client_fr_FR.properties - services/src/main/java/fr/ird/observe/services/validation/validators/ActivitySimpleSpeedDtoValidator.java - validation/src/main/resources/fr/ird/observe/dto/data/seine/RouteDto-update-error-validation.xml Changes: ===================================== client/src/main/java/fr/ird/observe/client/ui/admin/validate/ValidateModel.java ===================================== @@ -41,8 +41,8 @@ import fr.ird.observe.services.service.actions.validate.ValidationResultDto; import fr.ird.observe.services.service.actions.validate.ValidationResultDtoMessage; import fr.ird.observe.services.validation.ValidatorDto; import org.apache.commons.lang3.mutable.MutableInt; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState; import org.nuiton.validator.NuitonValidatorScope; @@ -75,7 +75,7 @@ public class ValidateModel extends AdminActionModel { static final String PROPERTY_VALIDATION_RESULT = "validationResult"; /** le pattern du fichier de rapport après validation */ - private static final String REPORT_PATTERN = "report-%1$tF--%1$tk-%1$tM-%1$tS.txt"; + private static final String REPORT_PATTERN = "report-%1$tF--%1$tk-%1$tM-%1$tS.html"; /** Logger */ private static final Logger log = LogManager.getLogger(ValidateModel.class); ===================================== client/src/main/resources/i18n/client_en_GB.properties ===================================== @@ -1817,7 +1817,7 @@ observe.ui.tree.seine.nonTargetCatch=Non target catch observe.ui.tree.seine.nonTargetCatchRelease=Non target released catches observe.ui.tree.seine.nonTargetSample=Non target samples observe.ui.tree.seine.objectObservedSpecies=Object observed species -observe.ui.tree.seine.objectOperation=Object operations +observe.ui.tree.seine.objectOperation=Beacon observe.ui.tree.seine.objectSchoolEstimate=Object school estimates observe.ui.tree.seine.route.list=Routes observe.ui.tree.seine.route.unsaved=New route ===================================== client/src/main/resources/i18n/client_es_ES.properties ===================================== @@ -1817,7 +1817,7 @@ observe.ui.tree.seine.nonTargetCatch=Fauna accesoria conservada o descartada observe.ui.tree.seine.nonTargetCatchRelease=Faunes accessoires libérées \#TODO observe.ui.tree.seine.nonTargetSample=Muestreos de fauna accesoria observe.ui.tree.seine.objectObservedSpecies=Fauna observada -observe.ui.tree.seine.objectOperation=Operaciones sobre el objeto +observe.ui.tree.seine.objectOperation=Baliza observe.ui.tree.seine.objectSchoolEstimate=Estimaciones banco de objetos observe.ui.tree.seine.route.list=Rutas observe.ui.tree.seine.route.unsaved=Nueva ruta ===================================== client/src/main/resources/i18n/client_fr_FR.properties ===================================== @@ -1817,7 +1817,7 @@ observe.ui.tree.seine.nonTargetCatch=Espèces accessoires conservées ou rejeté observe.ui.tree.seine.nonTargetCatchRelease=Espèces accessoires libérées observe.ui.tree.seine.nonTargetSample=Échantillons espèces accessoires observe.ui.tree.seine.objectObservedSpecies=Faune observée -observe.ui.tree.seine.objectOperation=Opérations sur l'objet +observe.ui.tree.seine.objectOperation=Balise observe.ui.tree.seine.objectSchoolEstimate=Estimations banc objet observe.ui.tree.seine.route.list=Routes observe.ui.tree.seine.route.unsaved=Nouvelle route ===================================== services/src/main/java/fr/ird/observe/services/validation/validators/ActivitySimpleSpeedDtoValidator.java ===================================== @@ -29,9 +29,12 @@ import fr.ird.observe.dto.data.seine.ActivitySeineDto; import fr.ird.observe.dto.data.seine.ActivitySeineStubDto; import fr.ird.observe.dto.data.seine.RouteDto; import fr.ird.observe.dto.decoration.DecoratorService; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import java.util.Comparator; +import java.util.LinkedList; +import java.util.List; import java.util.Objects; /** @@ -146,8 +149,24 @@ public class ActivitySimpleSpeedDtoValidator extends FieldValidatorSupport { Objects.requireNonNull(route, " could not find currentRoute in valueStack"); - ActivitySeineStubDto previousActivity = route.getPreviousActivity(activity.getId()); - + ActivitySeineStubDto previousActivity; + + if (activity.isNotPersisted()) { + // since there is no id, can't use the later method, must find out by our self previous activity + List<ActivitySeineStubDto> activitySeine = new LinkedList<>(route.getActivitySeine()); + ActivitySeineStubDto activityStub = new ActivitySeineStubDto(); + activityStub.setTime(activity.getTime()); + activitySeine.add(activityStub); + activitySeine.sort(Comparator.comparing(ActivitySeineStubDto::getTimeSecond)); + int index = activitySeine.indexOf(activityStub); + if (index > 0) { + previousActivity = activitySeine.get(index - 1); + } else { + previousActivity = null; + } + } else { + previousActivity = route.getPreviousActivity(activity.getId()); + } if (previousActivity == null) { // pas d'activity avant, rien à valider ===================================== validation/src/main/resources/fr/ird/observe/dto/data/seine/RouteDto-update-error-validation.xml ===================================== @@ -66,21 +66,6 @@ <message>observe.validation.route.invalid.time##${index}</message> </field-validator> - <!-- coherence seaSurfaceTemperature des activitys (moins de 12 de delta) --> - <field-validator type="collectionFieldExpression"> - <param name="mode">ALL</param> - <param name="useSensitiveContext">true</param> - <param name="expression"><![CDATA[ - previous == null || previous.seaSurfaceTemperature == null || current.seaSurfaceTemperature == null - || (previous.seaSurfaceTemperature > current.seaSurfaceTemperature ? - previous.seaSurfaceTemperature - current.seaSurfaceTemperature <= 12.0 - : current.seaSurfaceTemperature - previous.seaSurfaceTemperature <= 12.0 - ) - ]]> - </param> - <message>observe.validation.route.invalid.seaSurfaceTemperature##${index}</message> - </field-validator> - <!-- coherence quadrant des activitys --> <field-validator type="collectionFieldExpression"> <param name="mode">ALL</param> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/7e6fa47b9b4155cf25a2456b530... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/7e6fa47b9b4155cf25a2456b530... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT