branch feature/7598 updated (5dd20f8 -> 0fa1a91)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7598 in repository observe. See http://git.codelutin.com/observe.git from 5dd20f8 migration de l'écran (refs #7598) new 0fa1a91 ajout de la validation (refs #7598) 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 0fa1a91608d938dfc29e0dcc2495f64e7b9b51c8 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 14 17:21:30 2015 +0200 ajout de la validation (refs #7598) Summary of changes: .../SetSeineDto-n1-create-error-validation.xml | 15 +++++---------- .../SetSeineDto-n1-create-warning-validation.xml | 2 +- .../SetSeineDto-n1-update-error-validation.xml | 18 +++++++----------- .../SetSeineDto-n1-update-warning-validation.xml | 2 +- .../services/dto/seine/ActivitySeineDto.java | 7 +++++++ .../observe/services/dto/seine/SetSeineDto.java | 22 ++++++++++++++++++++++ 6 files changed, 43 insertions(+), 23 deletions(-) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/seine/SetSeine-n1-create-error-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-create-error-validation.xml (89%) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/seine/SetSeine-n1-update-warning-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-create-warning-validation.xml (89%) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/seine/SetSeine-n1-update-error-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-update-error-validation.xml (86%) copy observe-entities-validation/src/main/resources/fr/ird/observe/entities/seine/SetSeine-n1-update-warning-validation.xml => observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-update-warning-validation.xml (89%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7598 in repository observe. See http://git.codelutin.com/observe.git commit 0fa1a91608d938dfc29e0dcc2495f64e7b9b51c8 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 14 17:21:30 2015 +0200 ajout de la validation (refs #7598) --- .../SetSeineDto-n1-create-error-validation.xml | 193 +++++++++++++++++++ .../SetSeineDto-n1-create-warning-validation.xml | 51 +++++ .../SetSeineDto-n1-update-error-validation.xml | 205 +++++++++++++++++++++ .../SetSeineDto-n1-update-warning-validation.xml | 51 +++++ .../services/dto/seine/ActivitySeineDto.java | 7 + .../observe/services/dto/seine/SetSeineDto.java | 22 +++ 6 files changed, 529 insertions(+) diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-create-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-create-error-validation.xml new file mode 100644 index 0000000..5bef73c --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-create-error-validation.xml @@ -0,0 +1,193 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="reasonForNullSet"> + + <!-- reasonForNullSet desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ reasonForNullSet == null || reasonForNullSet.enabled ]]> + </param> + <message>validator.set.desactivated.reasonForNullSet</message> + </field-validator> + + </field> + + <field name="maxGearDepth"> + + <!-- maxGearDepth entre 0 et 1100 --> + <field-validator type="int" short-circuit="true"> + <param name="min">0</param> + <param name="max">1100</param> + <message>validator.set.bound.maxGearDepth##${min}##${max}</message> + </field-validator> + + </field> + + <field name="schoolThickness"> + + <!-- 1 <= schoolThickness <= 500 --> + <field-validator type="int" short-circuit="true"> + <param name="min">1</param> + <param name="max">500</param> + <message>validator.set.bound.schoolThickness##${min}##${max}</message> + </field-validator> + + </field> + + <field name="schoolMeanDepth"> + + <!-- 0 <= schoolMeanDepth <= 2000 --> + <field-validator type="int" short-circuit="true"> + <param name="min">0</param> + <param name="max">2000</param> + <message>validator.set.bound.schoolMeanDepth##${min}##${max}</message> + </field-validator> + + </field> + + <field name="schoolTopDepth"> + + <!-- 0 <= schoolTopDepth <= 1000 --> + <field-validator type="int" short-circuit="true"> + <param name="min">0</param> + <param name="max">1000</param> + <message>validator.set.bound.schoolTopDepth##${min}##${max}</message> + </field-validator> + + </field> + + + <field name="supportVesselName"> + + <!-- supportVesselName de ${maxLength} caractères maximum --> + <field-validator type="fieldexpressionwithparams"> + <param name="intParams">maxLength:32</param> + <param name="expression"> + <![CDATA[ supportVesselName == null || supportVesselName.length() < ints.maxLength ]]> + </param> + <message>validator.set.size.supportVesselName##${ints.maxLength}</message> + </field-validator> + + </field> + + <field name="endPursingDate"> + + <!-- routeEntity.date <= endPursingDate --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ endPursingDate == null || ! currentRoute.date.after(endPursingDate) ]]> + </param> + <message>validator.set.endPursingDate.after.date</message> + </field-validator> + </field> + + <field name="endPursingTimeStamp"> + + <!-- startTime <= endPursingTimeStamp --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ endPursingTimeStamp == null || ! startTime.after(endPursingTimeStamp) ]]> + </param> + <message>validator.set.endPursingTimeStamp.after.startTime</message> + </field-validator> + + </field> + + <field name="endSetDate"> + + <!-- endPursingDate <= endSetDate --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ endPursingDate == null || ! endPursingDate.after(endSetDate) ]]> + </param> + <message>validator.set.endDate.after.endPursingDate</message> + </field-validator> + </field> + + <field name="endSetTimeStamp"> + + <!-- endPursingTimeStamp < = endSetTimeStamp && endSetTimeStamp - endPursingTimeStamp > 45 minutes --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ endSetTimeStamp == null || ! endPursingTimeStamp.after(endSetTimeStamp) ]]> + </param> + <message>validator.set.endSetTimeStamp.after.endPursingTimeStamp</message> + </field-validator> + + <!-- verifier que la duree de la set est d'au moins 45 minutes --> + <field-validator type="fieldexpressionwithparams"> + <param name="intParams">maxLength:45</param> + <param name="expression"> + <![CDATA[ (endSetTimeStamp.time - endPursingTimeStamp.time) >= (ints.maxLength * 60000) ]]> + </param> + <message>validator.set.bound.delay##${ints.maxLength}</message> + </field-validator> + + </field> + + <field name="currentDirection"> + + <!-- 0 <= direction courant <= 360 --> + <field-validator type="int" short-circuit="true"> + <param name="min">0</param> + <param name="max">360</param> + <message>validator.set.bound.currentDirection##${min}##${max}</message> + </field-validator> + + </field> + + <field name="currentSpeed"> + + <!-- 0 < vitesse courant <= 40 --> + <field-validator type="double" short-circuit="true"> + <param name="minExclusive">0</param> + <param name="maxInclusive">40</param> + <message>validator.set.bound.currentSpeed##${minExclusive}##${maxInclusive}</message> + </field-validator> + + </field> + + <field name="comment"> + + <!-- comentaire de moins de 1024 caractères --> + <field-validator type="stringlength"> + <param name="maxLength">1024</param> + <message>validator.set.comment.tobig</message> + </field-validator> + + <!-- comment requis selon le type de reasonForNullSet choisi --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ reasonForNullSet == null || !reasonForNullSet.needComment || (comment!=null && !comment.empty) ]]> + </param> + <message>validator.set.required.comment.for.reasonForNullSet</message> + </field-validator> + + </field> +</validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-create-warning-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-create-warning-validation.xml new file mode 100644 index 0000000..0232282 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-create-warning-validation.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="currentDirection"> + + <!-- direction courant non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.set.null.currentDirection</message> + </field-validator> + + </field> + + <field name="endSetTimeStamp"> + + <!-- verifier que la duree de la set n'exède pas 5 heures (300 minutes) --> + <field-validator type="fieldexpressionwithparams"> + <param name="intParams">maxLength:300</param> + <param name="expression"> + <![CDATA[ (endSetTimeStamp.time - startTime.time) <= (ints.maxLength * 60000) ]]> + </param> + <message>validator.set.delay.too.long##${ints.maxLength}</message> + </field-validator> + + </field> + +</validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-update-error-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-update-error-validation.xml new file mode 100644 index 0000000..fc80ae8 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-update-error-validation.xml @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="reasonForNullSet"> + + <!-- reasonForNullSet desactive --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ reasonForNullSet == null || reasonForNullSet.enabled ]]> + </param> + <message>validator.set.desactivated.reasonForNullSet</message> + </field-validator> + + </field> + + <field name="maxGearDepth"> + + <!-- maxGearDepth entre 0 et 1100 --> + <field-validator type="int" short-circuit="true"> + <param name="min">0</param> + <param name="max">1100</param> + <message>validator.set.bound.maxGearDepth##${min}##${max}</message> + </field-validator> + + </field> + + <field name="schoolThickness"> + + <!-- 1 <= schoolThickness <= 500 --> + <field-validator type="int" short-circuit="true"> + <param name="min">1</param> + <param name="max">500</param> + <message>validator.set.bound.schoolThickness##${min}##${max}</message> + </field-validator> + + </field> + + <field name="schoolMeanDepth"> + + <!-- 0 <= schoolMeanDepth <= 2000 --> + <field-validator type="int" short-circuit="true"> + <param name="min">0</param> + <param name="max">2000</param> + <message>validator.set.bound.schoolMeanDepth##${min}##${max}</message> + </field-validator> + + </field> + + <field name="schoolTopDepth"> + + <!-- 0 <= schoolTopDepth <= 1000 --> + <field-validator type="int" short-circuit="true"> + <param name="min">0</param> + <param name="max">1000</param> + <message>validator.set.bound.schoolTopDepth##${min}##${max}</message> + </field-validator> + + </field> + + + <field name="supportVesselName"> + + <!-- supportVesselName de ${maxLength} caractères maximum --> + <field-validator type="fieldexpressionwithparams"> + <param name="intParams">maxLength:32</param> + <param name="expression"> + <![CDATA[ supportVesselName == null || supportVesselName.length() < ints.maxLength ]]> + </param> + <message>validator.set.size.supportVesselName##${ints.maxLength}</message> + </field-validator> + + </field> + + <field name="startTime"> + + <!-- startTime <= activity.time --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ startTime == null || ! currentActivitySeine.timeSecond.after(startSetTime) ]]> + </param> + <message>validator.set.startTime.after.time</message> + </field-validator> + + </field> + + <field name="endPursingDate"> + + <!-- routeEntity.date <= endPursingDate --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ endPursingDate == null || ! currentRoute.date.after(endPursingDate) ]]> + </param> + <message>validator.set.endPursingDate.after.date</message> + </field-validator> + </field> + + <field name="endPursingTimeStamp"> + + <!-- startTime <= endPursingTimeStamp --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ endPursingTimeStamp == null || ! startTime.after(endPursingTimeStamp) ]]> + </param> + <message>validator.set.endPursingTimeStamp.after.startTime</message> + </field-validator> + + </field> + + <field name="endSetDate"> + + <!-- endDateCoulissage <= endSetDate --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ endPursingDate == null || ! endPursingDate.after(endSetDate) ]]> + </param> + <message>validator.set.endDate.after.endPursingDate</message> + </field-validator> + </field> + + <field name="endSetTimeStamp"> + + <!-- endPursingTimeStamp < = endSetTimeStamp && endSetTimeStamp - endPursingTimeStamp > 45 minutes --> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ endSetTimeStamp == null || ! endPursingTimeStamp.after(endSetTimeStamp) ]]> + </param> + <message>validator.set.endSetTimeStamp.after.endPursingTimeStamp</message> + </field-validator> + + <!--verifier que la duree de la set est d'au moins 45 minutes --> + <field-validator type="fieldexpressionwithparams"> + <param name="intParams">maxLength:45</param> + <param name="expression"> + <![CDATA[ (endSetTimeStamp.time - endPursingTimeStamp.time) >= (ints.maxLength * 60000) ]]> + </param> + <message>validator.set.bound.delay##${ints.maxLength}</message> + </field-validator> + + </field> + + <field name="currentDirection"> + + <!-- 0 <= direction courant <= 360 --> + <field-validator type="int" short-circuit="true"> + <param name="min">0</param> + <param name="max">360</param> + <message>validator.set.bound.currentDirection##${min}##${max}</message> + </field-validator> + + </field> + + <field name="currentSpeed"> + + <!-- 0 < vitesse courant <= 40 --> + <field-validator type="double" short-circuit="true"> + <param name="minExclusive">0</param> + <param name="maxInclusive">40</param> + <message>validator.set.bound.currentSpeed##${minExclusive}##${maxInclusive}</message> + </field-validator> + + </field> + + <field name="comment"> + + <!-- comentaire de moins de 1024 caractères --> + <field-validator type="stringlength"> + <param name="maxLength">1024</param> + <message>validator.set.comment.tobig</message> + </field-validator> + + <!-- comment requis selone le type de reasonForNullSet choisi --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ reasonForNullSet == null || !reasonForNullSet.needComment || (comment != null && !comment.empty) ]]> + </param> + <message>validator.set.required.comment.for.reasonForNullSet</message> + </field-validator> + + </field> +</validators> diff --git a/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-update-warning-validation.xml b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-update-warning-validation.xml new file mode 100644 index 0000000..0232282 --- /dev/null +++ b/observe-application-swing/src/main/resources/fr/ird/observe/services/dto/seine/SetSeineDto-n1-update-warning-validation.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Validation + %% + Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this program. If not, see + <http://www.gnu.org/licenses/gpl-3.0.html>. + #L% + --> + +<!DOCTYPE validators PUBLIC + "-//Apache Struts//XWork Validator 1.0.3//EN" + "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> +<validators> + + <field name="currentDirection"> + + <!-- direction courant non renseigne --> + <field-validator type="required" short-circuit="true"> + <message>validator.set.null.currentDirection</message> + </field-validator> + + </field> + + <field name="endSetTimeStamp"> + + <!-- verifier que la duree de la set n'exède pas 5 heures (300 minutes) --> + <field-validator type="fieldexpressionwithparams"> + <param name="intParams">maxLength:300</param> + <param name="expression"> + <![CDATA[ (endSetTimeStamp.time - startTime.time) <= (ints.maxLength * 60000) ]]> + </param> + <message>validator.set.delay.too.long##${ints.maxLength}</message> + </field-validator> + + </field> + +</validators> diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/ActivitySeineDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/ActivitySeineDto.java index aa9ab18..859b894 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/ActivitySeineDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/ActivitySeineDto.java @@ -1,6 +1,9 @@ package fr.ird.observe.services.dto.seine; import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; +import org.nuiton.util.DateUtil; + +import java.util.Date; public class ActivitySeineDto extends AbstractActivitySeineDto { @@ -19,4 +22,8 @@ public class ActivitySeineDto extends AbstractActivitySeineDto { && ACTIVITY_FIN_DE_VEILLE.equals( vesselActivitySeine.getPropertyValue(VesselActivitySeineDto.PROPERTY_CODE)); } + + public Date getTimeSecond() { + return DateUtil.getTime(time, false, false); + } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/SetSeineDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/SetSeineDto.java index 705b4af..876c47e 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/SetSeineDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/SetSeineDto.java @@ -8,6 +8,20 @@ public class SetSeineDto extends AbstractSetSeineDto { private static final long serialVersionUID = 3546973062604141414L; + public void setStartSetDate(Date startSetDate) { + if (startTime != null) { + Date dateAndTime = DateUtil.getDateAndTime(startSetDate, startTime, false, false); + setStartTime(dateAndTime); + } + } + + public void setStartSetTime(Date startSetTime) { + if (startTime != null) { + Date dateAndTime = DateUtil.getDateAndTime(startTime, startSetTime, false, false); + setStartTime(dateAndTime); + } + } + public void setEndSetDate(Date endSetDate) { if (endSetTimeStamp != null) { Date dateAndTime = DateUtil.getDateAndTime(endSetDate, endSetTimeStamp, false, false); @@ -36,6 +50,14 @@ public class SetSeineDto extends AbstractSetSeineDto { } } + public Date getStartSetDate() { + return startTime == null ? null : DateUtil.getDay(startTime); + } + + public Date getStartSetTime() { + return startTime == null ? null : DateUtil.getTime(startTime, false, false); + } + public Date getEndSetDate() { return endSetTimeStamp == null ? null : DateUtil.getDay(endSetTimeStamp); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm