Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
ee9d7059
by Tony CHEMIT at 2018-10-01T14:18:53Z
-
0b137008
by Tony CHEMIT at 2018-10-01T14:19:08Z
-
69c29cee
by Tony CHEMIT at 2018-10-01T14:19:20Z
-
02e91427
by Tony CHEMIT at 2018-10-01T14:19:34Z
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:
| ... | ... | @@ -41,8 +41,8 @@ import fr.ird.observe.services.service.actions.validate.ValidationResultDto; |
| 41 | 41 |
import fr.ird.observe.services.service.actions.validate.ValidationResultDtoMessage;
|
| 42 | 42 |
import fr.ird.observe.services.validation.ValidatorDto;
|
| 43 | 43 |
import org.apache.commons.lang3.mutable.MutableInt;
|
| 44 |
-import org.apache.logging.log4j.Logger;
|
|
| 45 | 44 |
import org.apache.logging.log4j.LogManager;
|
| 45 |
+import org.apache.logging.log4j.Logger;
|
|
| 46 | 46 |
import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState;
|
| 47 | 47 |
import org.nuiton.validator.NuitonValidatorScope;
|
| 48 | 48 |
|
| ... | ... | @@ -75,7 +75,7 @@ public class ValidateModel extends AdminActionModel { |
| 75 | 75 |
static final String PROPERTY_VALIDATION_RESULT = "validationResult";
|
| 76 | 76 |
|
| 77 | 77 |
/** le pattern du fichier de rapport après validation */
|
| 78 |
- private static final String REPORT_PATTERN = "report-%1$tF--%1$tk-%1$tM-%1$tS.txt";
|
|
| 78 |
+ private static final String REPORT_PATTERN = "report-%1$tF--%1$tk-%1$tM-%1$tS.html";
|
|
| 79 | 79 |
|
| 80 | 80 |
/** Logger */
|
| 81 | 81 |
private static final Logger log = LogManager.getLogger(ValidateModel.class);
|
| ... | ... | @@ -1817,7 +1817,7 @@ observe.ui.tree.seine.nonTargetCatch=Non target catch |
| 1817 | 1817 |
observe.ui.tree.seine.nonTargetCatchRelease=Non target released catches
|
| 1818 | 1818 |
observe.ui.tree.seine.nonTargetSample=Non target samples
|
| 1819 | 1819 |
observe.ui.tree.seine.objectObservedSpecies=Object observed species
|
| 1820 |
-observe.ui.tree.seine.objectOperation=Object operations
|
|
| 1820 |
+observe.ui.tree.seine.objectOperation=Beacon
|
|
| 1821 | 1821 |
observe.ui.tree.seine.objectSchoolEstimate=Object school estimates
|
| 1822 | 1822 |
observe.ui.tree.seine.route.list=Routes
|
| 1823 | 1823 |
observe.ui.tree.seine.route.unsaved=New route
|
| ... | ... | @@ -1817,7 +1817,7 @@ observe.ui.tree.seine.nonTargetCatch=Fauna accesoria conservada o descartada |
| 1817 | 1817 |
observe.ui.tree.seine.nonTargetCatchRelease=Faunes accessoires libérées \#TODO
|
| 1818 | 1818 |
observe.ui.tree.seine.nonTargetSample=Muestreos de fauna accesoria
|
| 1819 | 1819 |
observe.ui.tree.seine.objectObservedSpecies=Fauna observada
|
| 1820 |
-observe.ui.tree.seine.objectOperation=Operaciones sobre el objeto
|
|
| 1820 |
+observe.ui.tree.seine.objectOperation=Baliza
|
|
| 1821 | 1821 |
observe.ui.tree.seine.objectSchoolEstimate=Estimaciones banco de objetos
|
| 1822 | 1822 |
observe.ui.tree.seine.route.list=Rutas
|
| 1823 | 1823 |
observe.ui.tree.seine.route.unsaved=Nueva ruta
|
| ... | ... | @@ -1817,7 +1817,7 @@ observe.ui.tree.seine.nonTargetCatch=Espèces accessoires conservées ou rejeté |
| 1817 | 1817 |
observe.ui.tree.seine.nonTargetCatchRelease=Espèces accessoires libérées
|
| 1818 | 1818 |
observe.ui.tree.seine.nonTargetSample=Échantillons espèces accessoires
|
| 1819 | 1819 |
observe.ui.tree.seine.objectObservedSpecies=Faune observée
|
| 1820 |
-observe.ui.tree.seine.objectOperation=Opérations sur l'objet
|
|
| 1820 |
+observe.ui.tree.seine.objectOperation=Balise
|
|
| 1821 | 1821 |
observe.ui.tree.seine.objectSchoolEstimate=Estimations banc objet
|
| 1822 | 1822 |
observe.ui.tree.seine.route.list=Routes
|
| 1823 | 1823 |
observe.ui.tree.seine.route.unsaved=Nouvelle route
|
| ... | ... | @@ -29,9 +29,12 @@ import fr.ird.observe.dto.data.seine.ActivitySeineDto; |
| 29 | 29 |
import fr.ird.observe.dto.data.seine.ActivitySeineStubDto;
|
| 30 | 30 |
import fr.ird.observe.dto.data.seine.RouteDto;
|
| 31 | 31 |
import fr.ird.observe.dto.decoration.DecoratorService;
|
| 32 |
-import org.apache.logging.log4j.Logger;
|
|
| 33 | 32 |
import org.apache.logging.log4j.LogManager;
|
| 33 |
+import org.apache.logging.log4j.Logger;
|
|
| 34 | 34 |
|
| 35 |
+import java.util.Comparator;
|
|
| 36 |
+import java.util.LinkedList;
|
|
| 37 |
+import java.util.List;
|
|
| 35 | 38 |
import java.util.Objects;
|
| 36 | 39 |
|
| 37 | 40 |
/**
|
| ... | ... | @@ -146,8 +149,24 @@ public class ActivitySimpleSpeedDtoValidator extends FieldValidatorSupport { |
| 146 | 149 |
|
| 147 | 150 |
Objects.requireNonNull(route, " could not find currentRoute in valueStack");
|
| 148 | 151 |
|
| 149 |
- ActivitySeineStubDto previousActivity = route.getPreviousActivity(activity.getId());
|
|
| 150 |
- |
|
| 152 |
+ ActivitySeineStubDto previousActivity;
|
|
| 153 |
+ |
|
| 154 |
+ if (activity.isNotPersisted()) {
|
|
| 155 |
+ // since there is no id, can't use the later method, must find out by our self previous activity
|
|
| 156 |
+ List<ActivitySeineStubDto> activitySeine = new LinkedList<>(route.getActivitySeine());
|
|
| 157 |
+ ActivitySeineStubDto activityStub = new ActivitySeineStubDto();
|
|
| 158 |
+ activityStub.setTime(activity.getTime());
|
|
| 159 |
+ activitySeine.add(activityStub);
|
|
| 160 |
+ activitySeine.sort(Comparator.comparing(ActivitySeineStubDto::getTimeSecond));
|
|
| 161 |
+ int index = activitySeine.indexOf(activityStub);
|
|
| 162 |
+ if (index > 0) {
|
|
| 163 |
+ previousActivity = activitySeine.get(index - 1);
|
|
| 164 |
+ } else {
|
|
| 165 |
+ previousActivity = null;
|
|
| 166 |
+ }
|
|
| 167 |
+ } else {
|
|
| 168 |
+ previousActivity = route.getPreviousActivity(activity.getId());
|
|
| 169 |
+ }
|
|
| 151 | 170 |
if (previousActivity == null) {
|
| 152 | 171 |
|
| 153 | 172 |
// pas d'activity avant, rien à valider
|
| ... | ... | @@ -66,21 +66,6 @@ |
| 66 | 66 |
<message>observe.validation.route.invalid.time##${index}</message>
|
| 67 | 67 |
</field-validator>
|
| 68 | 68 |
|
| 69 |
- <!-- coherence seaSurfaceTemperature des activitys (moins de 12 de delta) -->
|
|
| 70 |
- <field-validator type="collectionFieldExpression">
|
|
| 71 |
- <param name="mode">ALL</param>
|
|
| 72 |
- <param name="useSensitiveContext">true</param>
|
|
| 73 |
- <param name="expression"><![CDATA[
|
|
| 74 |
- previous == null || previous.seaSurfaceTemperature == null || current.seaSurfaceTemperature == null
|
|
| 75 |
- || (previous.seaSurfaceTemperature > current.seaSurfaceTemperature ?
|
|
| 76 |
- previous.seaSurfaceTemperature - current.seaSurfaceTemperature <= 12.0
|
|
| 77 |
- : current.seaSurfaceTemperature - previous.seaSurfaceTemperature <= 12.0
|
|
| 78 |
- )
|
|
| 79 |
- ]]>
|
|
| 80 |
- </param>
|
|
| 81 |
- <message>observe.validation.route.invalid.seaSurfaceTemperature##${index}</message>
|
|
| 82 |
- </field-validator>
|
|
| 83 |
- |
|
| 84 | 69 |
<!-- coherence quadrant des activitys -->
|
| 85 | 70 |
<field-validator type="collectionFieldExpression">
|
| 86 | 71 |
<param name="mode">ALL</param>
|