This is an automated email from the git hooks/post-receive script. New commit to branch feature/8404 in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 30ae2b5f97dd1da5007d387b404e508fa0dab75b Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 5 15:30:32 2016 +0100 Ajout LengthLengthParameter et revue de LWParameter (ui) --- .../swing/decoration/DecoratorService.java | 11 +- .../decorators/LengthLengthParameterDecorator.java | 54 ++++++++ .../application-swing-decoration_en_GB.properties | 5 +- .../application-swing-decoration_es_ES.properties | 3 + .../application-swing-decoration_fr_FR.properties | 3 + ...ngthParameterDto-ui-create-error-validation.xml | 108 ++++++++++++++++ ...hParameterDto-ui-create-warning-validation.xml} | 21 +--- ...ngthParameterDto-ui-update-error-validation.xml | 72 +++++++++++ ...hParameterDto-ui-update-warning-validation.xml} | 23 ---- ...ightParameterDto-ui-create-error-validation.xml | 17 ++- ...htParameterDto-ui-create-warning-validation.xml | 8 ++ .../application-swing-validation_en_GB.properties | 14 +++ .../application-swing-validation_es_ES.properties | 14 +++ .../application-swing-validation_fr_FR.properties | 14 +++ ...rameterUI.jaxx => LengthLengthParameterUI.jaxx} | 139 ++++----------------- ...rameterUI.jcss => LengthLengthParameterUI.jcss} | 100 +++++---------- .../ref/impl/LengthLengthParameterUIHandler.java | 102 +++++++++++++++ ...odel.java => LengthLengthParameterUIModel.java} | 55 ++++---- .../content/ref/impl/LengthWeightParameterUI.jaxx | 38 +++--- .../content/ref/impl/LengthWeightParameterUI.jcss | 17 +++ .../ref/impl/LengthWeightParameterUIModel.java | 3 + .../i18n/application-swing_en_GB.properties | 8 ++ .../i18n/application-swing_es_ES.properties | 8 ++ .../i18n/application-swing_fr_FR.properties | 8 ++ 24 files changed, 573 insertions(+), 272 deletions(-) diff --git a/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java index a924d6c..9190d0f 100644 --- a/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java +++ b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java @@ -22,6 +22,7 @@ package fr.ird.observe.application.swing.decoration; import fr.ird.observe.application.swing.decoration.decorators.DataReferenceDecorator; +import fr.ird.observe.application.swing.decoration.decorators.LengthLengthParameterDecorator; import fr.ird.observe.application.swing.decoration.decorators.LengthWeightParameterDecorator; import fr.ird.observe.application.swing.decoration.decorators.NonTargetCatchDecorator; import fr.ird.observe.application.swing.decoration.decorators.NonTargetLengthDecorator; @@ -54,6 +55,7 @@ import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; import fr.ird.observe.services.dto.referential.GearDto; import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.LengthLengthParameterDto; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; import fr.ird.observe.services.dto.referential.OceanDto; import fr.ird.observe.services.dto.referential.OrganismDto; @@ -265,6 +267,11 @@ public class DecoratorService extends DecoratorProvider { registerDecorator(new SpeciesDecorator()); registerReferentialReferenceDecorator(SpeciesDto.class, "${faoCode}$s##${scientificLabel}$s"); + // LengthLengthParameter decorator + registerDecorator(new LengthLengthParameterDecorator()); + registerReferentialReferenceDecorator(LengthLengthParameterDto.class,"${inputSizeMeasureType}$s##${outputSizeMeasureType}$s##"+ + t("observe.common.inputOutputFormula") + " ${inputOutputFormula}$s"); + // LengthWeightParameter decorator registerDecorator(new LengthWeightParameterDecorator()); registerReferentialReferenceDecorator(LengthWeightParameterDto.class, @@ -423,8 +430,8 @@ public class DecoratorService extends DecoratorProvider { " - "); registerDataAndDataReferenceDecorator(SensorUsedDto.class, - "${sensorType/label}$s", - "${sensorType}$s"); + "${sensorType/label}$s", + "${sensorType}$s"); // gps decorators diff --git a/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/decorators/LengthLengthParameterDecorator.java b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/decorators/LengthLengthParameterDecorator.java new file mode 100644 index 0000000..92d1530 --- /dev/null +++ b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/decorators/LengthLengthParameterDecorator.java @@ -0,0 +1,54 @@ +/* + * #%L + * ObServe :: Application Swing Decoration + * %% + * Copyright (C) 2008 - 2016 IRD, Code Lutin, 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% + */ +package fr.ird.observe.application.swing.decoration.decorators; + +import fr.ird.observe.services.dto.referential.LengthLengthParameterDto; + +import static org.nuiton.i18n.I18n.t; + +/** + * Decorator of {@link LengthLengthParameterDto}. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 2.4 + */ +public class LengthLengthParameterDecorator extends ObserveDecorator<LengthLengthParameterDto> { + + private static final long serialVersionUID = 1L; + + public LengthLengthParameterDecorator() throws IllegalArgumentException, NullPointerException { + super(LengthLengthParameterDto.class, "${inputSizeMeasureType}$s##${outputSizeMeasureType}$s##" + + t("observe.common.inputOutputFormula") + " ${inputOutputFormula}$s" + ); + } + + @Override + protected Comparable<?> getDefaultUndefinedValue(String token) { + if (token.startsWith(LengthLengthParameterDto.PROPERTY_INPUT_SIZE_MEASURE_TYPE) + || token.startsWith(LengthLengthParameterDto.PROPERTY_OUTPUT_SIZE_MEASURE_TYPE) + ) { + return t("observe.common.inconnu"); + } + return super.getDefaultUndefinedValue(token); + } + +} diff --git a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_en_GB.properties b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_en_GB.properties index ef91476..663fdae 100644 --- a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_en_GB.properties +++ b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_en_GB.properties @@ -4,6 +4,7 @@ observe.common.gps.gpsPoint=Gps point observe.common.haulingIdentifier=Hauling identifier observe.common.homeId=Home id observe.common.inconnu=Unknown +observe.common.inputOutputFormula=Input to Output formula observe.common.label=Label observe.common.lengthWeightFormula=Length weight formula observe.common.nocode=Nocode @@ -121,8 +122,10 @@ observe.type.keptTargetCatch=Target catch observe.type.keptTargetCatches=Target catches observe.type.keptTargetSample=Target sample observe.type.keptTargetSamples=Target samples +observe.type.lengthLengthParameter=Length length parameter +observe.type.lengthLengthParameters=Length length parameters observe.type.lengthWeightParameter=Length weight parameter -observe.type.lengthWeightParameters=Lengths weight parameter +observe.type.lengthWeightParameters=Length weight parameters observe.type.lightsticksColor=Lightsticks color observe.type.lightsticksColors=Lightstickss color observe.type.lightsticksType=Lightsticks type diff --git a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties index e459f93..306751d 100644 --- a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties +++ b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_es_ES.properties @@ -4,6 +4,7 @@ observe.common.gps.gpsPoint=Punto GPS observe.common.haulingIdentifier=Arrastre observe.common.homeId=Identificador observe.common.inconnu=desconocido +observe.common.inputOutputFormula=Formule Entrée vers Sortie \#TODO observe.common.label=Título observe.common.lengthWeightFormula=Relación Peso observe.common.nocode=codigo ausente @@ -121,6 +122,8 @@ observe.type.keptTargetCatch=Captura de atún observe.type.keptTargetCatches=Capturas de atún observe.type.keptTargetSample=Muestreo de atún capturado observe.type.keptTargetSamples=Muestreos de atún capturado +observe.type.lengthLengthParameter=Relación Tamaño-Tamaño +observe.type.lengthLengthParameters=Relaciones Tamaño-Tamaño observe.type.lengthWeightParameter=Relación Tamaño-Peso observe.type.lengthWeightParameters=Relaciones Tamaño-Peso observe.type.lightsticksColor=Color de barrita de luz diff --git a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties index 84164e5..60b1621 100644 --- a/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties +++ b/application-swing-decoration/src/main/resources/i18n/application-swing-decoration_fr_FR.properties @@ -4,6 +4,7 @@ observe.common.gps.gpsPoint=Point GPS observe.common.haulingIdentifier=Virage observe.common.homeId=Identifiant observe.common.inconnu=inconnu +observe.common.inputOutputFormula=Formule Entrée vers Sortie observe.common.label=Libellé observe.common.lengthWeightFormula=Relation Poids observe.common.nocode=code absent @@ -121,6 +122,8 @@ observe.type.keptTargetCatch=Capture cible observe.type.keptTargetCatches=Captures cible observe.type.keptTargetSample=Echantillon thon capturé observe.type.keptTargetSamples=Echantillons thon capturés +observe.type.lengthLengthParameter=Relation Taille-Taille +observe.type.lengthLengthParameters=Relations Taille-Taille observe.type.lengthWeightParameter=Relation Taille-Poids observe.type.lengthWeightParameters=Relations Taille-Poids observe.type.lightsticksColor=Couleur de baton lumineux diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-create-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-create-error-validation.xml new file mode 100644 index 0000000..54b0e35 --- /dev/null +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-create-error-validation.xml @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Application Swing Validation + %% + Copyright (C) 2008 - 2016 IRD, Code Lutin, 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="code"> + + <!-- clef unique sur le code --> + <field-validator type="collectionUniqueKeyDto" short-circuit="true"> + <param name="collectionFieldName">editingReferentielListEntity</param> + <param name="keys">code</param> + <param name="againstMe">true</param> + <param name="nullValueSkipped">true</param> + <message>validator.ui.referentiel.invalid.code.uniqueKey##${code}</message> + </field-validator> + + </field> + + <field name="inputSizeMeasureType"> + + <!-- intputSizeMeasureType desactive --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ intputSizeMeasureType == null || intputSizeMeasureType.enabled ]]> + </param> + <message>validator.ui.lengthLengthParameter.disabled.inputSizeMeasureType</message> + </field-validator> + </field> + + + <field name="outputSizeMeasureType"> + + <!-- outputSizeMeasureType desactive --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ outputSizeMeasureType == null || outputSizeMeasureType.enabled ]]> + </param> + <message>validator.ui.lengthLengthParameter.disabled.inputSizeMeasureType</message> + </field-validator> + </field> + + <field name="inputOutputFormula"> + <!-- pas de relation inputOutputFormula renseignee --> + <field-validator type="requiredstring" short-circuit="true"> + <message>validator.ui.lengthLengthParameter.required.inputOutputFormula + </message> + </field-validator> + + <!-- relation inputOutputFormula invalide --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ inputOutputFormulaValid ]]> + </param> + <message>validator.ui.lengthLengthParameter.invalid.inputOutputFormula + </message> + </field-validator> + + </field> + + <field name="outputInputFormula"> + <!-- pas de relation outputInputFormula renseignee --> + <field-validator type="requiredstring" short-circuit="true"> + <message>validator.ui.lengthLengthParameter.required.outputInputFormula + </message> + </field-validator> + + <!-- relation outputInputFormula invalide --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ outputInputFormulaValid ]]> + </param> + <message>validator.ui.lengthLengthParameter.invalid.outputInputFormula + </message> + </field-validator> + + </field> + + <field name="coefficients"> + <!-- pas de coefficients renseigne --> + <field-validator type="requiredstring" short-circuit="true"> + <message>validator.ui.lengthLengthParameter.required.coefficients + </message> + </field-validator> + </field> +</validators> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-create-warning-validation.xml similarity index 76% copy from application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml copy to application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-create-warning-validation.xml index 097c4dc..b325b75 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-create-warning-validation.xml @@ -43,26 +43,17 @@ </field-validator> </field> - <field name="ocean"> - <!-- pas de ocean renseigne --> + <field name="inputSizeMeasureType"> + <!-- pas de inputSizeMeasureType renseigne --> <field-validator type="required"> - <message>validator.ui.lengthWeightParameter.null.ocean</message> + <message>validator.ui.lengthLengthParameter.null.inputSizeMeasureType</message> </field-validator> </field> - <field name="startDate"> - <!-- pas de startDate renseigne --> + <field name="outputSizeMeasureType"> + <!-- pas de outputSizeMeasureType renseigne --> <field-validator type="required"> - <message>validator.ui.lengthWeightParameter.required.startDate - </message> - </field-validator> - </field> - - <field name="endDate"> - <!-- pas de endDate renseigne --> - <field-validator type="required"> - <message>validator.ui.lengthWeightParameter.required.endDate - </message> + <message>validator.ui.lengthLengthParameter.null.outputSizeMeasureType</message> </field-validator> </field> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-update-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-update-error-validation.xml new file mode 100644 index 0000000..d335ede --- /dev/null +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-update-error-validation.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + ObServe :: Application Swing Validation + %% + Copyright (C) 2008 - 2016 IRD, Code Lutin, 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="inputOutputFormula"> + <!-- pas de relation inputOutputFormula renseignee --> + <field-validator type="requiredstring" short-circuit="true"> + <message>validator.ui.lengthLengthParameter.required.inputOutputFormula + </message> + </field-validator> + + <!-- relation inputOutputFormula invalide --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ inputOutputFormulaValid ]]> + </param> + <message>validator.ui.lengthLengthParameter.invalid.inputOutputFormula + </message> + </field-validator> + + </field> + + <field name="outputInputFormula"> + <!-- pas de relation outputInputFormula renseignee --> + <field-validator type="requiredstring" short-circuit="true"> + <message>validator.ui.lengthLengthParameter.required.outputInputFormula + </message> + </field-validator> + + <!-- relation outputInputFormula invalide --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ outputInputFormulaValid ]]> + </param> + <message>validator.ui.lengthLengthParameter.invalid.outputInputFormula + </message> + </field-validator> + + </field> + + <field name="coefficients"> + <!-- pas de coefficients renseigne --> + <field-validator type="requiredstring" short-circuit="true"> + <message>validator.ui.lengthLengthParameter.required.coefficients + </message> + </field-validator> + </field> +</validators> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-update-warning-validation.xml similarity index 69% copy from application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml copy to application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-update-warning-validation.xml index 097c4dc..75a6bc1 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthLengthParameterDto-ui-update-warning-validation.xml @@ -43,27 +43,4 @@ </field-validator> </field> - <field name="ocean"> - <!-- pas de ocean renseigne --> - <field-validator type="required"> - <message>validator.ui.lengthWeightParameter.null.ocean</message> - </field-validator> - </field> - - <field name="startDate"> - <!-- pas de startDate renseigne --> - <field-validator type="required"> - <message>validator.ui.lengthWeightParameter.required.startDate - </message> - </field-validator> - </field> - - <field name="endDate"> - <!-- pas de endDate renseigne --> - <field-validator type="required"> - <message>validator.ui.lengthWeightParameter.required.endDate - </message> - </field-validator> - </field> - </validators> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-error-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-error-validation.xml index 258ca27..40f6fef 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-error-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-error-validation.xml @@ -54,6 +54,17 @@ </field-validator> </field> + <field name="sizeMeasureType"> + + <!-- sizeMeasureType desactive --> + <field-validator type="fieldexpression"> + <param name="expression"> + <![CDATA[ sizeMeasureType == null || sizeMeasureType.enabled ]]> + </param> + <message>validator.ui.lengthWeightParameter.disabled.sizeMeasureType</message> + </field-validator> + </field> + <field name="ocean"> <!-- clef unique species - gender - ocean - startDate --> <field-validator type="observeCollectionUniqueKeyDto" short-circuit="true"> @@ -126,12 +137,6 @@ <message>validator.ui.lengthWeightParameter.required.coefficients </message> </field-validator> - - <!-- syntaxe coefficients invalide FIXME chemit 2010_08-21 Il faut autoriser les ecritures scientifique E[+-][0-9]+--> - <!--field-validator type="regex"> - <param name="expression">\w+=[0-9]+(\.[0-9]+(E[+-]*[0-9]+)*)*(:\w+=[0-9]+(\.[0-9]+(E[+-]*[0-9]+)*)*)*</param> - <message>validator.ui.lengthWeightParameter.invalid.coefficients</message> - </field-validator--> </field> </validators> diff --git a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml index 097c4dc..431020a 100644 --- a/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml +++ b/application-swing-validation/src/main/resources/fr/ird/observe/services/dto/referential/LengthWeightParameterDto-ui-create-warning-validation.xml @@ -50,6 +50,14 @@ </field-validator> </field> + <field name="sizeMeasureType"> + <!-- pas de sizeMeasureType renseigne --> + <field-validator type="required"> + <message>validator.ui.lengthWeightParameter.null.sizeMeasureType</message> + </field-validator> + </field> + + <field name="startDate"> <!-- pas de startDate renseigne --> <field-validator type="required"> diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties index bd95896..9f9426d 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_en_GB.properties @@ -83,6 +83,8 @@ observe.common.hooksComposition=hooks composition observe.common.hooksCompositionProportionSum=hooks composition proportion sum observe.common.individualSize=Individual size observe.common.individualWeight=Individual weight +observe.common.inputOutputFormula=Input to Output formula +observe.common.inputSizeMeasureType=Input size measure type observe.common.iso2Code=Iso 2 code observe.common.iso3Code=Iso 3 code observe.common.itemHorizontalPosition=Item horizontal position @@ -120,6 +122,8 @@ observe.common.observedSystemDistance=Observed system distance observe.common.observer=Observed observe.common.ocean=Ocean observe.common.organism=Organism +observe.common.outputInputFormula=Output to Input formula +observe.common.outputSizeMeasureType=Ouput size measure type observe.common.power=Power observe.common.previousFpaZone=Previous fpa zone observe.common.proportion=Proportion @@ -330,10 +334,20 @@ validator.ui.hooksComposition.desactivated.hookSize=Selected hook size is disabl validator.ui.hooksComposition.desactivated.hookType=Selected hook type is disabled. validator.ui.hooksComposition.required.hookType=Hook type must be filled. validator.ui.hooksComposition.required.proportion=Proportion must be filled. +validator.ui.lengthLengthParameter.disabled.inputSizeMeasureType=Selected Input Size measure type is disabled +validator.ui.lengthLengthParameter.invalid.inputOutputFormula=Formula is not valid. +validator.ui.lengthLengthParameter.invalid.outputInputFormula=Formula is not valid. +validator.ui.lengthLengthParameter.null.inputSizeMeasureType=Input size measure type is not filled. +validator.ui.lengthLengthParameter.null.outputSizeMeasureType=Output size measure type is not filled. +validator.ui.lengthLengthParameter.required.coefficients=Coefficiens are required. +validator.ui.lengthLengthParameter.required.inputOutputFormula=Formula is required. +validator.ui.lengthLengthParameter.required.outputInputFormula=Formula is required. +validator.ui.lengthWeightParameter.disabled.sizeMeasureType=Selected size measure type is disabled. validator.ui.lengthWeightParameter.invalid.lengthWeightFormula=Formula is not valid. validator.ui.lengthWeightParameter.invalid.uniqueKey=Tuple (gender/ocean/species/startDate) must be unique. validator.ui.lengthWeightParameter.invalid.weightLengthFormula=Formula is not valid. validator.ui.lengthWeightParameter.null.ocean=Ocean is not filled. +validator.ui.lengthWeightParameter.null.sizeMeasureType=Size measure type is not filled. validator.ui.lengthWeightParameter.required.coefficients=Coefficients must be filled. validator.ui.lengthWeightParameter.required.endDate=End date must be filled. validator.ui.lengthWeightParameter.required.lengthWeightFormula=Length weight formula must be filled. diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties index 0c96771..51bdabd 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_es_ES.properties @@ -83,6 +83,8 @@ observe.common.hooksComposition=Anzuelos observe.common.hooksCompositionProportionSum=Suma de los proporciónes de anzuelos (%) observe.common.individualSize=Tamaño (cm) observe.common.individualWeight=Peso (kg) +observe.common.inputOutputFormula=Formule Entrée vers Sortie \#TODO +observe.common.inputSizeMeasureType=Type de mensuration d'entrée \#TODO observe.common.iso2Code=Código ISO-2 observe.common.iso3Code=Código ISO-3 observe.common.itemHorizontalPosition=Localización del elemento sobre la línea principal @@ -120,6 +122,8 @@ observe.common.observedSystemDistance=Distancia al sistema observado (millas con observe.common.observer=Observador observe.common.ocean=Oceano observe.common.organism=Organismo +observe.common.outputInputFormula=Formule Sortie vers Entrée \#TODO +observe.common.outputSizeMeasureType=Type de mensuration de sortie \#TODO observe.common.power=Potencia del motor principal observe.common.previousFpaZone=La zona FPA de que se salió observe.common.proportion=Proporción (%) @@ -330,10 +334,20 @@ validator.ui.hooksComposition.desactivated.hookSize=El tamaño de avanzuelo sele validator.ui.hooksComposition.desactivated.hookType=El tipo de avanzuelo seleccionado está desactivado. validator.ui.hooksComposition.required.hookType=La selección de un tipo de avanzuelo es mandatoria. validator.ui.hooksComposition.required.proportion=La proporción está vacía. +validator.ui.lengthLengthParameter.disabled.inputSizeMeasureType=Le type de mensuration d'entrée sélectionné est désactivé. \#TODO +validator.ui.lengthLengthParameter.invalid.inputOutputFormula=La formule n'est pas valide. \#TODO +validator.ui.lengthLengthParameter.invalid.outputInputFormula=La formule n'est pas valide. \#TODO +validator.ui.lengthLengthParameter.null.inputSizeMeasureType=Le type de mensuration d'entrée n'est pas renseigné. \#TODO +validator.ui.lengthLengthParameter.null.outputSizeMeasureType=Le type de mensuration de sortie n'est pas renseigné. \#TODO +validator.ui.lengthLengthParameter.required.coefficients=Les coefficients sont obligatoires. \#TODO +validator.ui.lengthLengthParameter.required.inputOutputFormula=La formule est obligatoire. \#TODO +validator.ui.lengthLengthParameter.required.outputInputFormula=La formule est obligatoire. \#TODO +validator.ui.lengthWeightParameter.disabled.sizeMeasureType=Le type de mensuration sélectionné est désactivé. \#TODO validator.ui.lengthWeightParameter.invalid.lengthWeightFormula=Relación de peso introducida no es coherente. validator.ui.lengthWeightParameter.invalid.uniqueKey=Tupla (sexo/océano/especie) debe ser única, la tupla ya se ha usado. validator.ui.lengthWeightParameter.invalid.weightLengthFormula=Relación de talla introducida no es coherente. validator.ui.lengthWeightParameter.null.ocean=No se ha seleccionado oceano. +validator.ui.lengthWeightParameter.null.sizeMeasureType=Type de mensuration non renseigné. \#TODO validator.ui.lengthWeightParameter.required.coefficients=Coeficientes deben ser especificados. validator.ui.lengthWeightParameter.required.endDate=Fecha de fin de validez debe ser especificada. validator.ui.lengthWeightParameter.required.lengthWeightFormula=Relación de peso debe ser especificada. diff --git a/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties b/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties index 4dbebdf..fb6e9ea 100644 --- a/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties +++ b/application-swing-validation/src/main/resources/i18n/application-swing-validation_fr_FR.properties @@ -83,6 +83,8 @@ observe.common.hooksComposition=Hameçons observe.common.hooksCompositionProportionSum=Somme des proportions d'hameçons (%) observe.common.individualSize=Taille (cm) observe.common.individualWeight=Poids (kg) +observe.common.inputOutputFormula=Formule Entrée vers Sortie +observe.common.inputSizeMeasureType=Type de mensuration d'entrée observe.common.iso2Code=code ISO-2 observe.common.iso3Code=Code ISO-3 observe.common.itemHorizontalPosition=Position sur la ligne @@ -120,6 +122,8 @@ observe.common.observedSystemDistance=Distance système observé (en milles avec observe.common.observer=Observateur observe.common.ocean=Océan observe.common.organism=Organisme +observe.common.outputInputFormula=Formule Sortie vers Entrée +observe.common.outputSizeMeasureType=Type de mensuration de sortie observe.common.power=Puissance moteur principal observe.common.previousFpaZone=Zone Fpa précédente observe.common.proportion=Proportion (%) @@ -330,10 +334,20 @@ validator.ui.hooksComposition.desactivated.hookSize=La taille d'hameçon sélect validator.ui.hooksComposition.desactivated.hookType=Le type d'hameçon sélectionné est désactivée. validator.ui.hooksComposition.required.hookType=La sélection d'un type d'hameçon est obligatoire. validator.ui.hooksComposition.required.proportion=Proportion non renseignée. +validator.ui.lengthLengthParameter.disabled.inputSizeMeasureType=Le type de mensuration d'entrée sélectionné est désactivé. +validator.ui.lengthLengthParameter.invalid.inputOutputFormula=La formule n'est pas valide. +validator.ui.lengthLengthParameter.invalid.outputInputFormula=La formule n'est pas valide. +validator.ui.lengthLengthParameter.null.inputSizeMeasureType=Le type de mensuration d'entrée n'est pas renseigné. +validator.ui.lengthLengthParameter.null.outputSizeMeasureType=Le type de mensuration de sortie n'est pas renseigné. +validator.ui.lengthLengthParameter.required.coefficients=Les coefficients sont obligatoires. +validator.ui.lengthLengthParameter.required.inputOutputFormula=La formule est obligatoire. +validator.ui.lengthLengthParameter.required.outputInputFormula=La formule est obligatoire. +validator.ui.lengthWeightParameter.disabled.sizeMeasureType=Le type de mensuration sélectionné est désactivé. validator.ui.lengthWeightParameter.invalid.lengthWeightFormula=La relation poids saisie n'est pas cohérente. validator.ui.lengthWeightParameter.invalid.uniqueKey=Le tuple (gender/ocean/species/startDate) doit être unique, le tuple est déjà utilisé. validator.ui.lengthWeightParameter.invalid.weightLengthFormula=La relation taille saisie n'est pas cohérente. validator.ui.lengthWeightParameter.null.ocean=Aucun océan sélectionné. +validator.ui.lengthWeightParameter.null.sizeMeasureType=Type de mensuration non renseigné. validator.ui.lengthWeightParameter.required.coefficients=Les coefficients ne sont pas renseignés. validator.ui.lengthWeightParameter.required.endDate=Date de fin de validité non renseignée. validator.ui.lengthWeightParameter.required.lengthWeightFormula=La relation poids n'est pas renseignée. diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUI.jaxx similarity index 55% copy from application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx copy to application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUI.jaxx index 8ffa384..860bf89 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUI.jaxx @@ -20,25 +20,21 @@ #L% --> -<fr.ird.observe.application.swing.ui.content.ref.ContentReferenceUI superGenericType='LengthWeightParameterDto'> +<fr.ird.observe.application.swing.ui.content.ref.ContentReferenceUI superGenericType='LengthLengthParameterDto'> <style source="ReferenceEntity.jcss"/> <import> fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.ReferentialReference - fr.ird.observe.services.dto.referential.SexDto - fr.ird.observe.services.dto.referential.SpeciesDto - fr.ird.observe.services.dto.referential.OceanDto - fr.ird.observe.services.dto.referential.LengthWeightParameterDto + fr.ird.observe.services.dto.referential.SizeMeasureTypeDto + fr.ird.observe.services.dto.referential.LengthLengthParameterDto fr.ird.observe.application.swing.ui.UIHelper fr.ird.observe.application.swing.ui.content.ref.ContentReferenceUIModel jaxx.runtime.swing.editor.NumberEditor jaxx.runtime.swing.editor.bean.BeanComboBox - org.jdesktop.swingx.JXDatePicker - javax.swing.JScrollPane javax.swing.JTable javax.swing.table.TableCellRenderer @@ -48,37 +44,17 @@ </import> <!-- validator --> - <BeanValidator id='validator' autoField='true' - beanClass='fr.ird.observe.services.dto.referential.LengthWeightParameterDto' - context='ui-create' - errorTableModel='{getErrorTableModel()}'/> + <BeanValidator id='validator' autoField='true' context='ui-create' errorTableModel='{getErrorTableModel()}' + beanClass='fr.ird.observe.services.dto.referential.LengthLengthParameterDto'/> <!-- model --> - <LengthWeightParameterUIModel id='model'/> + <LengthLengthParameterUIModel id='model'/> <!-- handler --> - <LengthWeightParameterUIHandler id='handler' constructorParams="this"/> + <LengthLengthParameterUIHandler id='handler' constructorParams="this"/> <!-- edit bean --> - <LengthWeightParameterDto id='bean'/> - - <script><![CDATA[ -@Override -public void decorateUniqueKeyTable(JTable table, - TableCellRenderer renderer, - JScrollPane pane) { - - UIHelper.fixTableColumnWidth(table, 0, 250); - UIHelper.fixTableColumnWidth(table, 1, 100); - UIHelper.fixTableColumnWidth(table, 2, 100); - UIHelper.fixTableColumnWidth(table, 3, 200); - - table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); - - UIHelper.setTableColumnRenderer(table, 1, - UIHelper.newDecorateTableCellRenderer(renderer, SexDto.class)); -} -]]></script> + <LengthLengthParameterDto id='bean'/> <Table id="editView" insets="0" fill="both"> <row> @@ -87,51 +63,25 @@ public void decorateUniqueKeyTable(JTable table, <tab id='generalTab'> <Table fill="both"> - <!-- sex --> - <row> - <cell anchor="west"> - <JLabel id='sexLabel'/> - </cell> - <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='sex' constructorParams='this' - genericType='ReferentialReference<SexDto>' _entityClass='SexDto.class'/> - </cell> - </row> - - <!-- species --> + <!-- inputSizeMeasureType --> <row> <cell anchor='west'> - <JLabel id='speciesLabel'/> + <JLabel id='inputSizeMeasureTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='species' constructorParams='this' - genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='inputSizeMeasureType' constructorParams='this' + genericType='ReferentialReference<SizeMeasureTypeDto>'/> </cell> </row> - <!-- ocean --> + <!-- outputSizeMeasureType --> <row> <cell anchor='west'> - <JLabel id='oceanLabel'/> + <JLabel id='outputSizeMeasureTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='ocean' constructorParams='this' - genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class'/> - </cell> - </row> - - <!-- date debut - fin de validite --> - <row> - <cell anchor='west'> - <JLabel id='startDateFinValiditeLabel'/> - </cell> - <cell anchor='west' weightx="1" fill="both"> - <JPanel layout='{new GridLayout()}'> - <JXDatePicker id='startDate' - onActionPerformed='getBean().setStartDate(startDate.getDate())'/> - <JXDatePicker id='endDate' - onActionPerformed='getBean().setEndDate(endDate.getDate())'/> - </JPanel> + <BeanComboBox id='outputSizeMeasureType' constructorParams='this' + genericType='ReferentialReference<SizeMeasureTypeDto>'/> </cell> </row> @@ -151,8 +101,7 @@ public void decorateUniqueKeyTable(JTable table, <JLabel id='statusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <EnumEditor id='status' constructorParams='ReferenceStatus.class' - genericType='ReferenceStatus' + <EnumEditor id='status' constructorParams='ReferenceStatus.class' genericType='ReferenceStatus' onItemStateChanged='getBean().setStatus((ReferenceStatus)status.getSelectedItem())'/> </cell> </row> @@ -160,8 +109,7 @@ public void decorateUniqueKeyTable(JTable table, <!-- needComment --> <row> <cell anchor='east' weightx="1" fill="both" columns="2"> - <JCheckBox id='needComment' - onItemStateChanged='getBean().setNeedComment(needComment.isSelected())'/> + <JCheckBox id='needComment' onItemStateChanged='getBean().setNeedComment(needComment.isSelected())'/> </cell> </row> @@ -210,34 +158,34 @@ public void decorateUniqueKeyTable(JTable table, <!-- relation weight --> <row> <cell anchor='west' columns="2"> - <JLabel id='lengthWeightFormulaInformation'/> + <JLabel id='inputOutputFormulaInformation'/> </cell> </row> <row> <cell anchor='west'> - <JLabel id='lengthWeightFormulaLabel'/> + <JLabel id='inputOutputFormulaLabel'/> </cell> <cell weightx="1" fill="both"> - <JTextField id='lengthWeightFormula' - onKeyReleased='getBean().setLengthWeightFormula(lengthWeightFormula.getText())'/> + <JTextField id='inputOutputFormula' + onKeyReleased='getBean().setInputOutputFormula(inputOutputFormula.getText())'/> </cell> </row> <!-- relation taille --> <row> <cell anchor='west' columns="2"> - <JLabel id='weightLengthFormulaInformation'/> + <JLabel id='outputInputFormulaInformation'/> </cell> </row> <row> <cell anchor='west'> - <JLabel id='weightLengthFormulaLabel'/> + <JLabel id='outputInputFormulaLabel'/> </cell> <cell weightx="1" fill="both"> - <JTextField id='weightLengthFormula' - onKeyReleased='getBean().setWeightLengthFormula(weightLengthFormula.getText())'/> + <JTextField id='outputInputFormula' + onKeyReleased='getBean().setOutputInputFormula(outputInputFormula.getText())'/> </cell> </row> </Table> @@ -245,41 +193,6 @@ public void decorateUniqueKeyTable(JTable table, </row> <row> - <cell weightx="1"> - - <Table id='meanValuesTable' fill='both' insets="1"> - - <!-- tailleMoyen --> - <row> - <cell anchor="west"> - <JLabel id='meanLengthLabel'/> - </cell> - <cell anchor='east' weightx="1" fill="both"> - <NumberEditor id='meanLength' constructorParams='this' styleClass="float2"/> - </cell> - </row> - - <!-- meanWeight --> - <row> - <cell anchor="west"> - <JLabel id='meanWeightLabel'/> - </cell> - <cell anchor='east' weightx="1" fill="both"> - <NumberEditor id='meanWeight' constructorParams='this' styleClass="float2"/> - </cell> - </row> - <row> - <cell> - <javax.swing.Box.Filler id='filler' - constructorParams='UIHelper.newMinDimension(), UIHelper.newMinDimension(), UIHelper.newMaxXDimension()'/> - </cell> - </row> - </Table> - - </cell> - </row> - - <row> <cell columns="2" weighty="1"> <JLabel/> </cell> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUI.jcss similarity index 52% copy from application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss copy to application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUI.jcss index 2657acf..e247d52 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUI.jcss @@ -21,12 +21,12 @@ */ #generalTab { - title:{t("observe.content.lengthWeightParameter.tab.general")}; + title:{t("observe.content.lengthLengthParameter.tab.general")}; icon:{getHandler().getErrorIconIfFalse(model.isGeneralTabValid())}; } #otherTab { - title:{t("observe.content.lengthWeightParameter.tab.other")}; + title:{t("observe.content.lengthLengthParameter.tab.other")}; icon:{getHandler().getErrorIconIfFalse(model.isOtherTabValid())}; } @@ -36,80 +36,70 @@ labelFor:{species}; } -#sexLabel { - text:"observe.common.sex"; - font-style:"italic"; - labelFor:{sex}; -} - -#sex { - property:{LengthWeightParameterDto.PROPERTY_SEX}; - selectedItem:{bean.getSex()}; - enabled:{model.isCreatingMode()}; -} - #species { - property:{LengthWeightParameterDto.PROPERTY_SPECIES}; + property:{LengthLengthParameterDto.PROPERTY_SPECIES}; selectedItem:{bean.getSpecies()}; enabled:{model.isCreatingMode()}; + _entityClass:{SpeciesDto.class}; } -#oceanLabel { - text:"observe.common.ocean"; +#inputSizeMeasureTypeLabel { + text:"observe.common.inputSizeMeasureType"; font-style:"italic"; - labelFor:{ocean}; + labelFor:{inputSizeMeasureType}; } -#ocean { - property:{LengthWeightParameterDto.PROPERTY_OCEAN}; - selectedItem:{bean.getOcean()}; +#inputSizeMeasureType { + property:{LengthLengthParameterDto.PROPERTY_INPUT_SIZE_MEASURE_TYPE}; + selectedItem:{getBean().getInputSizeMeasureType()}; enabled:{model.isCreatingMode()}; + _entityClass:{SizeMeasureTypeDto.class}; } -#startDateFinValiditeLabel { - text:"observe.common.startDateFinValidite"; +#outputSizeMeasureTypeLabel { + text:"observe.common.outputSizeMeasureType"; font-style:"italic"; + labelFor:{outputSizeMeasureType}; } -#startDate { - date:{bean.getStartDate()}; -} - -#endDate { - date:{bean.getEndDate()}; +#outputSizeMeasureType { + property:{LengthLengthParameterDto.PROPERTY_OUTPUT_SIZE_MEASURE_TYPE}; + selectedItem:{getBean().getOutputSizeMeasureType()}; + enabled:{model.isCreatingMode()}; + _entityClass:{SizeMeasureTypeDto.class}; } #relationTable { border:{new TitledBorder(t("observe.common.equation"))}; } -#lengthWeightFormulaInformation { +#inputOutputFormulaInformation { font-size:11; - text:"observe.content.label.lengthWeightFormula.info"; + text:"observe.content.label.inputOutputFormula.info"; actionIcon:"information"; } -#lengthWeightFormulaLabel { - text:"observe.common.lengthWeightFormula"; - labelFor:{lengthWeightFormula}; +#inputOutputFormulaLabel { + text:"observe.common.inputOutputFormula"; + labelFor:{inputOutputFormula}; } -#lengthWeightFormula { - text:{getStringValue(bean.getLengthWeightFormula())}; +#inputOutputFormula { + text:{getStringValue(getBean().getInputOutputFormula())}; } -#weightLengthFormulaInformation { +#outputInputFormulaInformation { font-size:11; - text:"observe.content.label.weightLengthFormula.info"; + text:"observe.content.label.outputInputFormula.info"; actionIcon:"information"; } -#weightLengthFormulaLabel { - text:"observe.common.weightLengthFormula"; - labelFor:{weightLengthFormula}; +#outputInputFormulaLabel { + text:"observe.common.outputInputFormula"; + labelFor:{outputInputFormula}; } -#weightLengthFormula { - text:{getStringValue(bean.getWeightLengthFormula())}; +#outputInputFormula { + text:{getStringValue(getBean().getOutputInputFormula())}; } #coefficientsInformation { @@ -126,30 +116,6 @@ text:{getStringValue(bean.getCoefficients())}; } -#meanValuesTable { - border:{new TitledBorder(t("observe.common.meanValues"))}; -} - -#meanLengthLabel { - text:"observe.common.meanLength"; - labelFor:{meanLength}; -} - -#meanLength { - property:{LengthWeightParameterDto.PROPERTY_MEAN_LENGTH}; - model:{bean.getMeanLength()}; -} - -#meanWeightLabel { - text:"observe.common.meanWeight"; - labelFor:{meanWeight}; -} - -#meanWeight { - property:{LengthWeightParameterDto.PROPERTY_MEAN_WEIGHT}; - model:{bean.getMeanWeight()}; -} - #sourceLabel { text:"observe.common.source"; labelFor:{sourceField}; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUIHandler.java new file mode 100644 index 0000000..b0a645b --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUIHandler.java @@ -0,0 +1,102 @@ +package fr.ird.observe.application.swing.ui.content.ref.impl; + +/* + * #%L + * ObServe :: Application Swing + * %% + * Copyright (C) 2008 - 2016 IRD, Code Lutin, 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% + */ + +import fr.ird.observe.application.swing.ui.content.ref.ContentReferenceUI; +import fr.ird.observe.application.swing.ui.content.ref.ContentReferenceUIHandler; +import fr.ird.observe.services.dto.referential.LengthLengthParameterDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import jaxx.runtime.validator.swing.SwingValidatorMessage; +import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; +import org.nuiton.validator.NuitonValidatorScope; + +import javax.swing.event.TableModelListener; +import java.util.HashSet; +import java.util.Set; + +/** + * Created on 9/11/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.1 + */ +public class LengthLengthParameterUIHandler extends ContentReferenceUIHandler<LengthLengthParameterDto> { + + // Compute valid state of tab from the error table + protected final TableModelListener computeTabValidStateListener; + + public LengthLengthParameterUIHandler(ContentReferenceUI<LengthLengthParameterDto> ui) { + super(ui); + computeTabValidStateListener = e -> { + + SwingValidatorMessageTableModel source = (SwingValidatorMessageTableModel) e.getSource(); + computeTabValidState(source); + + }; + } + + @Override + public void initUI() { + + super.initUI(); + + // To be sure always remove listener (could prevent some leaks) + getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); + // listen messages to see if required to add + getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); + + } + + @Override + public void selectBean(ReferentialReference<LengthLengthParameterDto> selectedBean) { + + super.selectBean(selectedBean); + + SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); + computeTabValidState(errorTableModel); + + ((LengthLengthParameterUI) getUi()).getTabPane().setSelectedIndex(0); + + } + + protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { + + Set<String> errorProperties = new HashSet<>(); + int rowCount = errorTableModel.getRowCount(); + for (int i = 0; i < rowCount; i++) { + + SwingValidatorMessage row = errorTableModel.getRow(i); + if (NuitonValidatorScope.ERROR.equals(row.getScope())) { + errorProperties.add(row.getField()); + } + } + + boolean generalTabValid = !errorProperties.removeAll(LengthLengthParameterUIModel.GENERAL_TAB_PROPERTIES); + boolean otherTabValid = !errorProperties.removeAll(LengthLengthParameterUIModel.OTHER_TAB_PROPERTIES); + + LengthLengthParameterUIModel model = (LengthLengthParameterUIModel) getModel(); + model.setGeneralTabValid(generalTabValid); + model.setOtherTabValid(otherTabValid); + + } +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUIModel.java similarity index 53% copy from application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUIModel.java copy to application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUIModel.java index 505551c..cb487f5 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthLengthParameterUIModel.java @@ -23,43 +23,38 @@ package fr.ird.observe.application.swing.ui.content.ref.impl; */ import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; import fr.ird.observe.application.swing.ui.content.ref.ContentReferenceUIModel; +import fr.ird.observe.services.dto.referential.LengthLengthParameterDto; import java.util.Set; /** - * Created on 9/27/14. + * Created on 11/5/16. * * @author Tony Chemit - chemit@codelutin.com - * @since XXX + * @since 5.1 */ -public class LengthWeightParameterUIModel extends ContentReferenceUIModel<LengthWeightParameterDto> { +public class LengthLengthParameterUIModel extends ContentReferenceUIModel<LengthLengthParameterDto> { public static final String PROPERTY_GENERAL_TAB_VALID = "generalTabValid"; public static final String PROPERTY_OTHER_TAB_VALID = "otherTabValid"; public static final Set<String> GENERAL_TAB_PROPERTIES = - ImmutableSet.<String>builder().add(LengthWeightParameterDto.PROPERTY_URI, - LengthWeightParameterDto.PROPERTY_CODE, - LengthWeightParameterDto.PROPERTY_STATUS, - LengthWeightParameterDto.PROPERTY_SEX, - LengthWeightParameterDto.PROPERTY_OCEAN, - LengthWeightParameterDto.PROPERTY_SPECIES, - LengthWeightParameterDto.PROPERTY_NEED_COMMENT, - LengthWeightParameterDto.PROPERTY_SOURCE, - LengthWeightParameterDto.PROPERTY_START_DATE, - LengthWeightParameterDto.PROPERTY_END_DATE).build(); + ImmutableSet.<String>builder().add(LengthLengthParameterDto.PROPERTY_URI, + LengthLengthParameterDto.PROPERTY_CODE, + LengthLengthParameterDto.PROPERTY_STATUS, + LengthLengthParameterDto.PROPERTY_NEED_COMMENT, + LengthLengthParameterDto.PROPERTY_SOURCE, + LengthLengthParameterDto.PROPERTY_OUTPUT_SIZE_MEASURE_TYPE, + LengthLengthParameterDto.PROPERTY_INPUT_SIZE_MEASURE_TYPE).build(); public static final Set<String> OTHER_TAB_PROPERTIES = - ImmutableSet.<String>builder().add(LengthWeightParameterDto.PROPERTY_MEAN_LENGTH, - LengthWeightParameterDto.PROPERTY_MEAN_WEIGHT, - LengthWeightParameterDto.PROPERTY_WEIGHT_LENGTH_FORMULA, - LengthWeightParameterDto.PROPERTY_WEIGHT_LENGTH_FORMULA_VALID, - LengthWeightParameterDto.PROPERTY_LENGTH_WEIGHT_FORMULA, - LengthWeightParameterDto.PROPERTY_LENGTH_WEIGHT_FORMULA_VALID, - LengthWeightParameterDto.PROPERTY_COEFFICIENTS).build(); + ImmutableSet.<String>builder().add(LengthLengthParameterDto.PROPERTY_INPUT_OUTPUT_FORMULA, + LengthLengthParameterDto.PROPERTY_INPUT_OUTPUT_FORMULA_VALID, + LengthLengthParameterDto.PROPERTY_OUTPUT_INPUT_FORMULA, + LengthLengthParameterDto.PROPERTY_OUTPUT_INPUT_FORMULA_VALID, + LengthLengthParameterDto.PROPERTY_COEFFICIENTS).build(); private static final long serialVersionUID = 1L; @@ -67,16 +62,20 @@ public class LengthWeightParameterUIModel extends ContentReferenceUIModel<Length protected boolean otherTabValid; - public LengthWeightParameterUIModel() { - super(LengthWeightParameterDto.class, + public LengthLengthParameterUIModel() { + super(LengthLengthParameterDto.class, null, new String[]{ - LengthWeightParameterDto.PROPERTY_SEX, - LengthWeightParameterDto.PROPERTY_OCEAN, - LengthWeightParameterDto.PROPERTY_SPECIES, - LengthWeightParameterDto.PROPERTY_START_DATE, + LengthLengthParameterDto.PROPERTY_INPUT_SIZE_MEASURE_TYPE, + LengthLengthParameterDto.PROPERTY_OUTPUT_SIZE_MEASURE_TYPE, }, - null + new String[]{ + LengthLengthParameterUI.BINDING_INPUT_SIZE_MEASURE_TYPE_SELECTED_ITEM, + LengthLengthParameterUI.BINDING_INPUT_OUTPUT_FORMULA_TEXT, + LengthLengthParameterUI.BINDING_OUTPUT_SIZE_MEASURE_TYPE_SELECTED_ITEM, + LengthLengthParameterUI.BINDING_OUTPUT_INPUT_FORMULA_TEXT, + } + ); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx index 8ffa384..f6bf375 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jaxx @@ -28,6 +28,7 @@ fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SexDto + fr.ird.observe.services.dto.referential.SizeMeasureTypeDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.OceanDto fr.ird.observe.services.dto.referential.LengthWeightParameterDto @@ -48,10 +49,8 @@ </import> <!-- validator --> - <BeanValidator id='validator' autoField='true' - beanClass='fr.ird.observe.services.dto.referential.LengthWeightParameterDto' - context='ui-create' - errorTableModel='{getErrorTableModel()}'/> + <BeanValidator id='validator' autoField='true' context='ui-create' errorTableModel='{getErrorTableModel()}' + beanClass='fr.ird.observe.services.dto.referential.LengthWeightParameterDto'/> <!-- model --> <LengthWeightParameterUIModel id='model'/> @@ -93,8 +92,7 @@ public void decorateUniqueKeyTable(JTable table, <JLabel id='sexLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='sex' constructorParams='this' - genericType='ReferentialReference<SexDto>' _entityClass='SexDto.class'/> + <BeanComboBox id='sex' constructorParams='this' genericType='ReferentialReference<SexDto>'/> </cell> </row> @@ -105,7 +103,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='species' constructorParams='this' - genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReference<SpeciesDto>'/> </cell> </row> @@ -115,8 +113,18 @@ public void decorateUniqueKeyTable(JTable table, <JLabel id='oceanLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='ocean' constructorParams='this' - genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class'/> + <BeanComboBox id='ocean' constructorParams='this' genericType='ReferentialReference<OceanDto>'/> + </cell> + </row> + + <!-- sizeMeasuretype --> + <row> + <cell anchor='west'> + <JLabel id='sizeMeasureTypeLabel'/> + </cell> + <cell anchor='east' weightx="1" fill="both"> + <BeanComboBox id='sizeMeasureType' constructorParams='this' + genericType='ReferentialReference<SizeMeasureTypeDto>'/> </cell> </row> @@ -127,10 +135,8 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='west' weightx="1" fill="both"> <JPanel layout='{new GridLayout()}'> - <JXDatePicker id='startDate' - onActionPerformed='getBean().setStartDate(startDate.getDate())'/> - <JXDatePicker id='endDate' - onActionPerformed='getBean().setEndDate(endDate.getDate())'/> + <JXDatePicker id='startDate' onActionPerformed='getBean().setStartDate(startDate.getDate())'/> + <JXDatePicker id='endDate' onActionPerformed='getBean().setEndDate(endDate.getDate())'/> </JPanel> </cell> </row> @@ -151,8 +157,7 @@ public void decorateUniqueKeyTable(JTable table, <JLabel id='statusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <EnumEditor id='status' constructorParams='ReferenceStatus.class' - genericType='ReferenceStatus' + <EnumEditor id='status' constructorParams='ReferenceStatus.class' genericType='ReferenceStatus' onItemStateChanged='getBean().setStatus((ReferenceStatus)status.getSelectedItem())'/> </cell> </row> @@ -160,8 +165,7 @@ public void decorateUniqueKeyTable(JTable table, <!-- needComment --> <row> <cell anchor='east' weightx="1" fill="both" columns="2"> - <JCheckBox id='needComment' - onItemStateChanged='getBean().setNeedComment(needComment.isSelected())'/> + <JCheckBox id='needComment' onItemStateChanged='getBean().setNeedComment(needComment.isSelected())'/> </cell> </row> diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss index 2657acf..0857dbd 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUI.jcss @@ -46,12 +46,14 @@ property:{LengthWeightParameterDto.PROPERTY_SEX}; selectedItem:{bean.getSex()}; enabled:{model.isCreatingMode()}; + _entityClass:{SexDto.class}; } #species { property:{LengthWeightParameterDto.PROPERTY_SPECIES}; selectedItem:{bean.getSpecies()}; enabled:{model.isCreatingMode()}; + _entityClass:{SpeciesDto.class}; } #oceanLabel { @@ -64,8 +66,23 @@ property:{LengthWeightParameterDto.PROPERTY_OCEAN}; selectedItem:{bean.getOcean()}; enabled:{model.isCreatingMode()}; + _entityClass:{OceanDto.class}; } +#sizeMeasureTypeLabel { + text:"observe.common.sizeMeasureType"; + font-style:"italic"; + labelFor:{sizeMeasureType}; +} + +#sizeMeasureType { + property:{LengthWeightParameterDto.PROPERTY_SIZE_MEASURE_TYPE}; + selectedItem:{bean.getSizeMeasureType()}; + enabled:{model.isCreatingMode()}; + _entityClass:{SizeMeasureTypeDto.class}; +} + + #startDateFinValiditeLabel { text:"observe.common.startDateFinValidite"; font-style:"italic"; diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUIModel.java index 505551c..49a61c1 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/impl/LengthWeightParameterUIModel.java @@ -25,6 +25,7 @@ package fr.ird.observe.application.swing.ui.content.ref.impl; import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; import fr.ird.observe.application.swing.ui.content.ref.ContentReferenceUIModel; +import fr.ird.observe.services.dto.referential.SpeciesDto; import java.util.Set; @@ -49,6 +50,7 @@ public class LengthWeightParameterUIModel extends ContentReferenceUIModel<Length LengthWeightParameterDto.PROPERTY_SPECIES, LengthWeightParameterDto.PROPERTY_NEED_COMMENT, LengthWeightParameterDto.PROPERTY_SOURCE, + LengthWeightParameterDto.PROPERTY_SIZE_MEASURE_TYPE, LengthWeightParameterDto.PROPERTY_START_DATE, LengthWeightParameterDto.PROPERTY_END_DATE).build(); @@ -74,6 +76,7 @@ public class LengthWeightParameterUIModel extends ContentReferenceUIModel<Length LengthWeightParameterDto.PROPERTY_SEX, LengthWeightParameterDto.PROPERTY_OCEAN, LengthWeightParameterDto.PROPERTY_SPECIES, + LengthWeightParameterDto.PROPERTY_SIZE_MEASURE_TYPE, LengthWeightParameterDto.PROPERTY_START_DATE, }, null diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index 7427f4e..c8d7047 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -401,6 +401,8 @@ observe.common.homeId=Home id observe.common.homeIdFAOWormsId=Home id / Fao / Worms observe.common.iattcId=ICCAT Id observe.common.imoId=IMO Id +observe.common.inputOutputFormula=Input to Output formula +observe.common.inputSizeMeasureType=Input size measure type observe.common.iso2Code=Iso 2 code observe.common.iso3Code=Iso 3 code observe.common.keelCodeFlotte=Keel / Flotte @@ -462,6 +464,8 @@ observe.common.ocean=Ocean observe.common.oceanForSpecies=oceans list observe.common.operation.resume=Summary of operations observe.common.organism=Organism +observe.common.outputInputFormula=Ouput to Input formula +observe.common.outputSizeMeasureType=output size measure type observe.common.ownership=Ownership observe.common.picturesReferences=Pictures references observe.common.power=Power @@ -906,10 +910,14 @@ observe.content.hooksComposition.table.proportion=Proportion observe.content.hooksComposition.table.proportion.tip=Proportion observe.content.hooksComposition.title=Hooks observe.content.label.coefficients.info=Coefficients of relations msut follow the syntax name\=value and are separated by \: (example \: a\=1\:b\=2\:c\=3) +observe.content.label.inputOutputFormula.info=Input to Ouput formula permits to compute output length from the input length, must contains variable I observe.content.label.lengthWeightFormula.info=Length weight formula permits to compute weight from the length, must contains variable L +observe.content.label.outputInputFormula.info=Ouput to Input formula permits to compute input length from the output length, must contains variable O observe.content.label.usage.data.title=Data '%1$s' (%2$d occurrences) observe.content.label.usage.referentiel.title=Referentiel '%1$s' (%2$d occurrences) observe.content.label.weightLengthFormula.info=Weight length formula permits to compute length from the weight, must contains variable P +observe.content.lengthLengthParameter.tab.general=General caracteristics +observe.content.lengthLengthParameter.tab.other=Other caracteristics observe.content.lengthWeightParameter.tab.general=General caracteristics observe.content.lengthWeightParameter.tab.other=Other caracteristics observe.content.longlineDetailComposition.action.deleteAllSections=Remove all diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index d4ee3ba..ebc5a15 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -401,6 +401,8 @@ observe.common.homeId=Identificador observe.common.homeIdFAOWormsId=Código 3L / FAO / Worms observe.common.iattcId=Id CICAA observe.common.imoId=Id IMO +observe.common.inputOutputFormula=Formule entrée -> sortie \#TODO +observe.common.inputSizeMeasureType=Type de mensuration d'entrée \#TODO observe.common.iso2Code=Código ISO-2 observe.common.iso3Code=Código ISO-3 observe.common.keelCodeFlotte=Código de Quilla / Flota @@ -462,6 +464,8 @@ observe.common.ocean=Océano observe.common.oceanForSpecies=Lista de los oceanos observe.common.operation.resume=Resumen de operaciones observe.common.organism=Organismo +observe.common.outputInputFormula=Formule sortie -> entrée \#TODO +observe.common.outputSizeMeasureType=Type de mensuration de sortie \#TODO observe.common.ownership=Pertenece a observe.common.picturesReferences=Referencia de foto observe.common.power=Potencia del motor principal @@ -906,10 +910,14 @@ observe.content.hooksComposition.table.proportion=Proporción (%) observe.content.hooksComposition.table.proportion.tip=Proporción (%) observe.content.hooksComposition.title=Composición de los anzuelos observe.content.label.coefficients.info=Los coeficientes de relaciones son de la forma lastName\=valor y están separados por \: (ejemplo \: a\=1\:b\=2\:c\=3) +observe.content.label.inputOutputFormula.info=La relation poids permet de calculer la taille de sortie à partir de la taille d'entrée, elle doit contenir la variable I \#TODO observe.content.label.lengthWeightFormula.info=La relación talla-peso permite calcular el peso a partir de la talla, debe contener la variable L +observe.content.label.outputInputFormula.info=La relation poids permet de calculer la taille d'entrée à partir de la taille de sortie, elle doit contenir la variable O \#TODO observe.content.label.usage.data.title=Datos '%1$s' (%2$d ocurrencias) observe.content.label.usage.referentiel.title=Referencial '%1$s' (%2$d ocurrencias) observe.content.label.weightLengthFormula.info=la relación talla-peso permite calcular la talla a partir del peso, debe contener la varible P +observe.content.lengthLengthParameter.tab.general=Características generales +observe.content.lengthLengthParameter.tab.other=Otras características observe.content.lengthWeightParameter.tab.general=Características generales observe.content.lengthWeightParameter.tab.other=Otras características observe.content.longlineDetailComposition.action.deleteAllSections=Eliminar todo diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index 0212c82..e629cda 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -401,6 +401,8 @@ observe.common.homeId=Identifiant observe.common.homeIdFAOWormsId=Code 3L / FAO / Worms observe.common.iattcId=Id CICTA observe.common.imoId=Id IMO +observe.common.inputOutputFormula=Formule entrée -> sortie +observe.common.inputSizeMeasureType=Type de mensuration d'entrée observe.common.iso2Code=code ISO-2 observe.common.iso3Code=Code ISO-3 observe.common.keelCodeFlotte=Code quille /Code flotte @@ -462,6 +464,8 @@ observe.common.ocean=Océan observe.common.oceanForSpecies=Liste des océans observe.common.operation.resume=Résumé des opérations observe.common.organism=Organisme +observe.common.outputInputFormula=Formule sortie -> entrée +observe.common.outputSizeMeasureType=Type de mensuration de sortie observe.common.ownership=Appartenance observe.common.picturesReferences=Référence Photo observe.common.power=Puissance moteur principal @@ -906,10 +910,14 @@ observe.content.hooksComposition.table.proportion=Proportion (%) observe.content.hooksComposition.table.proportion.tip=Proportion (%) observe.content.hooksComposition.title=Composition des hameçons observe.content.label.coefficients.info=Les coefficients des relations sont de la forme nom\=valeur et sont séparé par des \: (exemple \: a\=1\:b\=2\:c\=3) +observe.content.label.inputOutputFormula.info=La relation poids permet de calculer la taille de sortie à partir de la taille d'entrée, elle doit contenir la variable I observe.content.label.lengthWeightFormula.info=La relation poids permet de calculer le poids à partir de la taille, elle doit contenir la variable L +observe.content.label.outputInputFormula.info=La relation poids permet de calculer la taille d'entrée à partir de la taille de sortie, elle doit contenir la variable O observe.content.label.usage.data.title=Donnée '%1$s' (%2$d occurrences) observe.content.label.usage.referentiel.title=Référentiel '%1$s' (%2$d occurrences) observe.content.label.weightLengthFormula.info=La relation taille permet de calculer la taille à partir du poids, elle doit contenir la variable P +observe.content.lengthLengthParameter.tab.general=Caractéristiques générales +observe.content.lengthLengthParameter.tab.other=Autres caractéristiques observe.content.lengthWeightParameter.tab.general=Caractéristiques générales observe.content.lengthWeightParameter.tab.other=Autres caractéristiques observe.content.longlineDetailComposition.action.deleteAllSections=Tout supprimer -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.