Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 8991fc68 by Tony CHEMIT at 2017-09-11T08:49:01+02:00 some fix on decorators and validation - - - - - 255dd1dc by Tony CHEMIT at 2017-09-11T09:04:19+02:00 Mise à jour de libellés (See #865) - - - - - 14 changed files: - client/src/main/java/fr/ird/observe/client/ui/admin/validate/ValidateUIHandler.java - client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java - client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTreeHeaderHandler.java - client/src/main/java/fr/ird/observe/client/ui/tree/selection/nodes/ReferenceSelectionTreeNodeSupport.java - client/src/main/java/fr/ird/observe/client/ui/util/ObserveValidationMessageTableRenderer.java - client/src/main/java/fr/ird/observe/client/ui/util/ObserveValidatorMessageTableRenderer.java - client/src/main/resources/i18n/client_fr_FR.properties - dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java - dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nDecoratorHelper.java - dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java - validation/src/main/resources/fr/ird/observe/dto/data/seine/NonTargetLengthDto-update-warning-validation.xml - validation/src/main/resources/i18n/validation_en_GB.properties - validation/src/main/resources/i18n/validation_es_ES.properties - validation/src/main/resources/i18n/validation_fr_FR.properties Changes: ===================================== client/src/main/java/fr/ird/observe/client/ui/admin/validate/ValidateUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/admin/validate/ValidateUIHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/admin/validate/ValidateUIHandler.java @@ -25,6 +25,7 @@ import com.google.common.base.Charsets; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import fr.ird.observe.client.ObserveSwingApplicationContext; +import fr.ird.observe.client.configuration.ClientConfig; import fr.ird.observe.client.constants.ValidationModelMode; import fr.ird.observe.client.db.ObserveSwingDataSource; import fr.ird.observe.client.ui.ObserveKeyStrokes; @@ -261,7 +262,7 @@ public class ValidateUIHandler extends AdminTabUIHandler<ValidateUI> implements return; } - DtoReference<?,?> ref = (DtoReference) o; + DtoReference<?, ?> ref = (DtoReference) o; if (log.isDebugEnabled()) { log.debug(ref); @@ -377,6 +378,8 @@ public class ValidateUIHandler extends AdminTabUIHandler<ValidateUI> implements ImmutableSet<NuitonValidatorScope> scopes = ImmutableSet.copyOf(stepModel.getScopes()); String contextName = stepModel.getContextName(); + ClientConfig config = ObserveSwingApplicationContext.get().getConfig(); + ValidationResult<?> result; if (dataModel.isLoadReferential()) { @@ -387,6 +390,9 @@ public class ValidateUIHandler extends AdminTabUIHandler<ValidateUI> implements request.setReferentialTypes(dataModel.getSelectedReferentiel()); request.setScopes(scopes); request.setValidationContext(contextName); + request.setValidationSpeedMaxValue(config.getValidationSpeedMaxValue()); + request.setValidationSpeedEnable(config.getValidationSpeedEnable()); + request.setValidationLengthWeightEnable(config.getValidationLengthWeightEnable()); progressModel.incrementsCurrentStep(); @@ -394,12 +400,16 @@ public class ValidateUIHandler extends AdminTabUIHandler<ValidateUI> implements } else if (dataModel.isUseData()) { + DataValidationRequest mainRequest = new DataValidationRequest(); mainRequest.setDataIds(ImmutableSet.copyOf(dataModel.getSelectedData().stream().map(DataDtoReference::getId).collect(Collectors.toSet()))); mainRequest.setScopes(scopes); mainRequest.setValidationContext(contextName); + mainRequest.setValidationSpeedMaxValue(config.getValidationSpeedMaxValue()); + mainRequest.setValidationSpeedEnable(config.getValidationSpeedEnable()); + mainRequest.setValidationLengthWeightEnable(config.getValidationLengthWeightEnable()); - ValidationResult.Builder<DataValidationRequest> resultBuilder = ValidationResult.builder(ReferentialLocale.valueOf(ObserveSwingApplicationContext.get().getConfig().getDbLocale()), mainRequest); + ValidationResult.Builder<DataValidationRequest> resultBuilder = ValidationResult.builder(ReferentialLocale.valueOf(config.getDbLocale()), mainRequest); for (DataDtoReference<?, ?> dataReference : dataModel.getSelectedData()) { @@ -409,9 +419,12 @@ public class ValidateUIHandler extends AdminTabUIHandler<ValidateUI> implements request.setDataIds(ImmutableSet.of(id)); request.setScopes(scopes); request.setValidationContext(contextName); + request.setValidationSpeedMaxValue(config.getValidationSpeedMaxValue()); + request.setValidationSpeedEnable(config.getValidationSpeedEnable()); + request.setValidationLengthWeightEnable(config.getValidationLengthWeightEnable()); //noinspection unchecked - sendMessage(t("observe.actions.validate.message.validate.trip", getDecoratorService().getDataReferenceDecorator((Class) dataReference.getDtoType()).toString(dataReference))); + sendMessage(t("observe.actions.validate.message.validate.trip", getDecoratorService().getDataReferenceDecorator((Class) dataReference.getReferenceType()).toString(dataReference))); progressModel.incrementsCurrentStep(); result = validateService.validateData(request); ===================================== client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java @@ -656,12 +656,12 @@ public abstract class ContentUIHandler<E extends IdDto, U extends ContentUI<E, U } - public <E extends IdDto> void loadReferentialReferenceSetsInModel(FormDefinition<E> formDefinition) { + public <F extends IdDto> void loadReferentialReferenceSetsInModel(FormDefinition<F> formDefinition) { loadReferentialReferenceSetsInModel(formDefinition, true); } - protected <E extends IdDto> void loadReferentialReferenceSetsInModel(FormDefinition<E> formDefinition, boolean clear) { + protected <F extends IdDto> void loadReferentialReferenceSetsInModel(FormDefinition<F> formDefinition, boolean clear) { - Class<E> dtoType = formDefinition.getType(); + Class<F> dtoType = formDefinition.getType(); ImmutableMap.Builder<String, ReferentialDtoReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); @@ -1136,12 +1136,12 @@ public abstract class ContentUIHandler<E extends IdDto, U extends ContentUI<E, U comboBox.setData(data); } - protected <R extends DataDtoReference> DataReferenceDecorator<R> getDataReferenceDecorator(Class<R> dtoType) { - return getDecoratorService().getDataReferenceDecorator(dtoType); + protected <R extends DataDtoReference> DataReferenceDecorator<R> getDataReferenceDecorator(Class<R> referenceType) { + return getDecoratorService().getDataReferenceDecorator(referenceType); } - protected <D extends ReferentialDtoReference> ReferentialReferenceDecorator<D> getReferentialReferenceDecorator(Class<D> dtoType) { - return getDecoratorService().getReferentialReferenceDecorator(dtoType); + protected <R extends ReferentialDtoReference> ReferentialReferenceDecorator<R> getReferentialReferenceDecorator(Class<R> referenceType) { + return getDecoratorService().getReferentialReferenceDecorator(referenceType); } private <D extends ReferentialDto, R extends ReferentialDtoReference<D, R>> ReferentialDtoReferenceSet<R> filterReferentialReferenceSet(String propertyName, DtoReferenceDefinition<D, R> propertyDefinition, @@ -1248,7 +1248,7 @@ public abstract class ContentUIHandler<E extends IdDto, U extends ContentUI<E, U } -// protected <D extends ReferentialDto> Optional<FormDefinition<D>> getReferentialFormRequest(Class<D> type) { +// protected <R extends ReferentialDto> Optional<FormDefinition<R>> getReferentialFormRequest(Class<R> type) { // return DtoModelHelper.fromReferentialForm(type).toFormDefinition(); // } ===================================== client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTreeHeaderHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTreeHeaderHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTreeHeaderHandler.java @@ -67,10 +67,10 @@ public class NavigationTreeHeaderHandler implements UIHandler<NavigationTreeHead @Override public void afterInit(NavigationTreeHeader ui) { - ui.getShowSeine().setIcon(UIHelper.getUIManagerIcon("navigation." + ProgramDto.class.getName() + "-16")); - ui.getShowLongline().setIcon(UIHelper.getUIManagerIcon("navigation." + ProgramDto.class.getName() + "-16")); + ui.getShowSeine().setIcon(UIHelper.getUIManagerIcon("navigation.referential.Program-16")); + ui.getShowLongline().setIcon(UIHelper.getUIManagerIcon("navigation.referential.Program-16")); ui.getShowReferential().setIcon(UIHelper.getUIManagerIcon("navigation.referentiel-16")); - ui.getShowEmptyProgram().setIcon(UIHelper.getUIManagerIcon("navigation." + TripSeineDto.class.getName() + "-16")); + ui.getShowEmptyProgram().setIcon(UIHelper.getUIManagerIcon("navigation.data.seine.TripSeine-16")); NavigationTree tree = ui.getTree(); TreeSearchable searchable = new TreeSearchable(tree); ===================================== client/src/main/java/fr/ird/observe/client/ui/tree/selection/nodes/ReferenceSelectionTreeNodeSupport.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/tree/selection/nodes/ReferenceSelectionTreeNodeSupport.java +++ b/client/src/main/java/fr/ird/observe/client/ui/tree/selection/nodes/ReferenceSelectionTreeNodeSupport.java @@ -24,6 +24,7 @@ package fr.ird.observe.client.ui.tree.selection.nodes; import fr.ird.observe.client.ObserveSwingApplicationContext; import fr.ird.observe.dto.IdDto; +import fr.ird.observe.dto.IdHelper; import fr.ird.observe.dto.reference.DtoReference; import org.nuiton.decorator.Decorator; @@ -33,7 +34,7 @@ import org.nuiton.decorator.Decorator; * @author Tony Chemit - dev@tchemit.fr * @since 6.0 */ -public abstract class ReferenceSelectionTreeNodeSupport<D extends IdDto, R extends DtoReference<D,R>> extends SelectionTreeNodeSupport<R> { +public abstract class ReferenceSelectionTreeNodeSupport<D extends IdDto, R extends DtoReference<D, R>> extends SelectionTreeNodeSupport<R> { private boolean selected; @@ -56,7 +57,7 @@ public abstract class ReferenceSelectionTreeNodeSupport<D extends IdDto, R exten @Override public String getIconPath() { - return "navigation." + getData().getDtoType().getName(); + return "navigation." + IdHelper.getDtoSimplifiedName(getData().getDtoType()); } @Override ===================================== client/src/main/java/fr/ird/observe/client/ui/util/ObserveValidationMessageTableRenderer.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/util/ObserveValidationMessageTableRenderer.java +++ b/client/src/main/java/fr/ird/observe/client/ui/util/ObserveValidationMessageTableRenderer.java @@ -24,6 +24,7 @@ package fr.ird.observe.client.ui.util; import fr.ird.observe.client.ui.admin.validate.ValidationMessageTableModel; import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper; +import fr.ird.observe.dto.decoration.ObserveI18nLabelsBuilder; import fr.ird.observe.services.service.actions.validate.ValidationResultDtoMessage; import java.awt.Color; import java.awt.Component; @@ -47,6 +48,8 @@ public class ObserveValidationMessageTableRenderer extends DefaultTableCellRende private static final long serialVersionUID = 1L; + private final ObserveI18nLabelsBuilder labelsBuilder = new ObserveI18nLabelsBuilder(null); + @Override public Component getTableCellRendererComponent(JTable table, Object value, @@ -78,7 +81,7 @@ public class ObserveValidationMessageTableRenderer extends DefaultTableCellRende case 1: // field name - text = getFieldName(model.getRow(row),(String) value); + text = getFieldName(model.getRow(row), (String) value); toolTipText = t("observe.validator.field.tip", text); break; @@ -112,8 +115,10 @@ public class ObserveValidationMessageTableRenderer extends DefaultTableCellRende } private String getFieldName(ValidationResultDtoMessage model, String value) { - String fieldName = value.startsWith("observe.") ? value : ObserveI18nDecoratorHelper.getPropertyI18nKey(model.getType(), value); - return t(fieldName); + if (value.startsWith("observe.")) { + return t(value); + } + return t(labelsBuilder.getI18nKey(model.getType(), ObserveI18nDecoratorHelper.OBSERVE_COMMON_PREFIX, value)); } } ===================================== client/src/main/java/fr/ird/observe/client/ui/util/ObserveValidatorMessageTableRenderer.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/util/ObserveValidatorMessageTableRenderer.java +++ b/client/src/main/java/fr/ird/observe/client/ui/util/ObserveValidatorMessageTableRenderer.java @@ -23,6 +23,7 @@ package fr.ird.observe.client.ui.util; */ import fr.ird.observe.dto.decoration.ObserveI18nDecoratorHelper; +import fr.ird.observe.dto.decoration.ObserveI18nLabelsBuilder; import java.awt.Color; import java.awt.Component; import javax.swing.JComponent; @@ -51,6 +52,8 @@ public class ObserveValidatorMessageTableRenderer extends SwingValidatorMessageT /** Logger. */ private static final Log log = LogFactory.getLog(ObserveValidatorMessageTableRenderer.class); + private final ObserveI18nLabelsBuilder labelsBuilder = new ObserveI18nLabelsBuilder(null); + @Override public String getFieldName(JTable table, String value, int row) { SwingValidatorMessageTableModel tableModel = (SwingValidatorMessageTableModel) table.getModel(); @@ -74,8 +77,7 @@ public class ObserveValidatorMessageTableRenderer extends SwingValidatorMessageT if (value.startsWith("observe.") || model.getValidator() == null) { return t(value); } - String fieldName = ObserveI18nDecoratorHelper.getPropertyI18nKey(model.getValidator().getType(), value); - return t(fieldName); + return t(labelsBuilder.getI18nKey(model.getValidator().getType(), ObserveI18nDecoratorHelper.OBSERVE_COMMON_PREFIX, value)); } @Override ===================================== client/src/main/resources/i18n/client_fr_FR.properties ===================================== --- a/client/src/main/resources/i18n/client_fr_FR.properties +++ b/client/src/main/resources/i18n/client_fr_FR.properties @@ -746,7 +746,7 @@ observe.common.NonTargetCatchDto.table.well.tip=Numéro de cuve observe.common.NonTargetCatchDto.totalCountComputed.computed.tip=Le nombre estimé a été calculé (%s) observe.common.NonTargetCatchDto.totalCountComputed.observed.tip=Le nombre estimé a été observé observe.common.NonTargetCatchDto.well=Cuve -observe.common.NonTargetCatchReleaseDto.message.cantAdd=<html><body><strong>Impossible d'ajouter des libération</strong>(pas de faune accessoire sensible)</body></html> +observe.common.NonTargetCatchReleaseDto.message.cantAdd=<html><body><strong>Impossible d'ajouter des libérations</strong>(pas de faune accessoire sensible)</body></html> observe.common.NonTargetCatchReleaseDto.table.comment=Com observe.common.NonTargetCatchReleaseDto.table.comment.tip=Commentaire observe.common.NonTargetCatchReleaseDto.table.deleteExtraMessage=Blabla ===================================== dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java ===================================== --- a/dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java +++ b/dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java @@ -321,8 +321,9 @@ public class DecoratorService extends DecoratorProvider { @Override public void end() { // Trip commun decorator - registerDecorator(TRIP_CONTEXT, - new DataReferenceDecorator<>(TripSeineReference.class, "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vesselLabel}$s##${observerLabel}$s")); + registerDataReferenceDecorator(TRIP_CONTEXT, + TripSeineReference.class, + "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vesselLabel}$s##${observerLabel}$s"); // gps decorators registerObserveDecorator("activity-gps", ===================================== dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nDecoratorHelper.java ===================================== --- a/dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nDecoratorHelper.java +++ b/dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nDecoratorHelper.java @@ -40,7 +40,7 @@ import static org.nuiton.i18n.I18n.t; */ public class ObserveI18nDecoratorHelper { - private static final String OBSERVE_COMMON_PREFIX = "observe.common."; + public static final String OBSERVE_COMMON_PREFIX = "observe.common."; public static <C extends Class<?>> List<C> sortTypes(Collection<C> types, Locale locale) { return ObserveUtil.sortTypes(types, klass -> t(getTypeI18nKey(klass)), locale); ===================================== dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java ===================================== --- a/dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java +++ b/dto/src/main/java/fr/ird/observe/dto/decoration/ObserveI18nLabelsBuilder.java @@ -65,6 +65,7 @@ public class ObserveI18nLabelsBuilder extends I18nLabelsBuilder { .put(ReferentialDto.PROPERTY_URI, ReferentialDto.class.getSimpleName() + ".") .put(ReferentialDto.PROPERTY_NEED_COMMENT, ReferentialDto.class.getSimpleName() + ".") .put(ReferentialDto.PROPERTY_CODE, ReferentialDto.class.getSimpleName() + ".") + .put(ReferentialDto.PROPERTY_STATUS, ReferentialDto.class.getSimpleName() + ".") .put("species", "") .put("country", "") .build(); ===================================== validation/src/main/resources/fr/ird/observe/dto/data/seine/NonTargetLengthDto-update-warning-validation.xml ===================================== --- a/validation/src/main/resources/fr/ird/observe/dto/data/seine/NonTargetLengthDto-update-warning-validation.xml +++ b/validation/src/main/resources/fr/ird/observe/dto/data/seine/NonTargetLengthDto-update-warning-validation.xml @@ -30,7 +30,7 @@ <!-- pas de speciesFate selectionnee --> <field-validator type="required" short-circuit="true"> - <message>observe.validation.nonTargetLength.required.speciesFate</message> + <message>observe.validation.nonTargetLength.null.speciesFate</message> </field-validator> </field> ===================================== validation/src/main/resources/i18n/validation_en_GB.properties ===================================== --- a/validation/src/main/resources/i18n/validation_en_GB.properties +++ b/validation/src/main/resources/i18n/validation_en_GB.properties @@ -499,7 +499,7 @@ observe.validation.nonTargetCatchRelease.required.status=Status not filled. observe.validation.nonTargetLength.desactivated.sizeMeasureType=Selected size measure type is disabled. observe.validation.nonTargetLength.desactivated.speciesFate=Selected species fate is disabled. observe.validation.nonTargetLength.required.sizeMeasureType=Size measure type is mandatory. -observe.validation.nonTargetLength.required.speciesFate=Species fate must be filled. +observe.validation.nonTargetLength.null.speciesFate=Species fate should be filled. observe.validation.nonTargetSample.bound.length=Length must be bound between %s and %s. observe.validation.nonTargetSample.bound.weight=Weight must be bound between %s and %s. observe.validation.nonTargetSample.comment.tobig=Comment size can not exceed 1024 characters. ===================================== validation/src/main/resources/i18n/validation_es_ES.properties ===================================== --- a/validation/src/main/resources/i18n/validation_es_ES.properties +++ b/validation/src/main/resources/i18n/validation_es_ES.properties @@ -499,7 +499,7 @@ observe.validation.nonTargetCatchRelease.required.status=État à la libération observe.validation.nonTargetLength.desactivated.sizeMeasureType=Selected size mesure type is disabled. \#TODO observe.validation.nonTargetLength.desactivated.speciesFate=El objectFate de fauna seleccionado está desactivado. observe.validation.nonTargetLength.required.sizeMeasureType=Es obligatoria especificar el size measure type \#TODO -observe.validation.nonTargetLength.required.speciesFate=Es obligatoiro seleccionar un futuro de fauna. +observe.validation.nonTargetLength.null.speciesFate=Futuro de fauna no establecida. observe.validation.nonTargetSample.bound.length=La talla para esta especie debe estar comprendida entre %1$s y %2$s. observe.validation.nonTargetSample.bound.weight=La peso para esta especie debe estar comprendida entre %1$s y %2$s. observe.validation.nonTargetSample.comment.tobig=La longitud del campo comentarios está limitada a 1024 carácteres. ===================================== validation/src/main/resources/i18n/validation_fr_FR.properties ===================================== --- a/validation/src/main/resources/i18n/validation_fr_FR.properties +++ b/validation/src/main/resources/i18n/validation_fr_FR.properties @@ -499,7 +499,7 @@ observe.validation.nonTargetCatchRelease.required.status=État à la libération observe.validation.nonTargetLength.desactivated.sizeMeasureType=Le type de mesure sélectionné est désactivé. observe.validation.nonTargetLength.desactivated.speciesFate=Le devenir faune sélectionné est désactivé. observe.validation.nonTargetLength.required.sizeMeasureType=Le type de mesure est obligatoire. -observe.validation.nonTargetLength.required.speciesFate=La sélection d'un devenir faune est obligatoire. +observe.validation.nonTargetLength.null.speciesFate=La sélection d'un devenir faune est conseillée. observe.validation.nonTargetSample.bound.length=La taille pour cette espèce doit être comprise entre %1$s et %2$s. observe.validation.nonTargetSample.bound.weight=Le poids pour cette espèce doit être compris entre %1$s et %2$s. observe.validation.nonTargetSample.comment.tobig=La taille du commentaire est limitée à 1024 caractères. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/061dc4bccd16ea487b3d5fc7157... --- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/061dc4bccd16ea487b3d5fc7157... You're receiving this email because of your account on gitlab.com.