[Git][ultreiaio/ird-observe][develop] Erreur sur changement de caractéristique d'équipement de type de donnée différent - Closes #1437
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: d3e61f87 by tchemit at 2020-04-01T11:18:20+02:00 Erreur sur changement de caractéristique d'équipement de type de donnée différent - Closes #1437 - - - - - 3 changed files: - client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/GearUseFeatureMeasurementCellEditor.java - client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/GearUseFeatureMeasurementCellRenderer.java - dto/src/main/java/fr/ird/observe/dto/referential/common/GearCaracteristicTypeAware.java Changes: ===================================== client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/GearUseFeatureMeasurementCellEditor.java ===================================== @@ -133,7 +133,7 @@ public class GearUseFeatureMeasurementCellEditor implements TableCellEditor { GearCaracteristicTypeReference gearCaracteristicType = caracteristicRef.getGearCaracteristicType(); Map<String, TableCellEditor> editors = getEditorsByGearCaracteristicId(table); editor = editors.get(gearCaracteristicType.getId()); - value = gearCaracteristicType.getTypeValue(value); + value = gearCaracteristicType.getOptionalTypeValue(value).orElse(null); } return editor.getTableCellEditorComponent(table, value, isSelected, row, column); } ===================================== client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/GearUseFeatureMeasurementCellRenderer.java ===================================== @@ -82,7 +82,7 @@ public class GearUseFeatureMeasurementCellRenderer implements TableCellRenderer } else { GearCaracteristicTypeReference gearCaracteristicType = caracteristicRef.getGearCaracteristicType(); tableCellRenderer = renderersByCaracteristicTypeId.get(gearCaracteristicType.getId()); - value = gearCaracteristicType.getTypeValue(value); + value = gearCaracteristicType.getOptionalTypeValue(value).orElse(null); } return tableCellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); } ===================================== dto/src/main/java/fr/ird/observe/dto/referential/common/GearCaracteristicTypeAware.java ===================================== @@ -26,7 +26,10 @@ import com.google.common.collect.ImmutableSet; import fr.ird.observe.dto.DtoAndReferenceAware; import fr.ird.observe.dto.ProtectedIds; import fr.ird.observe.dto.reference.DtoReferenceAware; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import java.util.Optional; import java.util.Set; /** @@ -35,6 +38,8 @@ import java.util.Set; */ public interface GearCaracteristicTypeAware extends DtoReferenceAware, DtoAndReferenceAware { + Logger log = LogManager.getLogger(GearCaracteristicTypeAware.class); + Set<String> INTEGER_IDS = ImmutableSet.of(ProtectedIds.COMMON_GEAR_CARACTERISTIC_TYPE_INTEGER_UNSIGNED, ProtectedIds.COMMON_GEAR_CARACTERISTIC_TYPE_INTEGER_SIGNED); Set<String> FLOAT_IDS = ImmutableSet.of(ProtectedIds.COMMON_GEAR_CARACTERISTIC_TYPE_FLOAT_UNSIGNED, ProtectedIds.COMMON_GEAR_CARACTERISTIC_TYPE_FLOAT_SIGNED); Set<String> BOOLEAN_IDS = ImmutableSet.of(ProtectedIds.COMMON_GEAR_CARACTERISTIC_TYPE_BOOLEAN); @@ -63,4 +68,13 @@ public interface GearCaracteristicTypeAware extends DtoReferenceAware, DtoAndRef } return value; } + + default Optional<Object> getOptionalTypeValue( Object value) { + try { + return Optional.ofNullable(getTypeValue( value)); + } catch (Exception e) { + log.error(String.format("Could not get editor value from: %s", value), e); + return Optional.empty(); + } + } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/d3e61f870af3a0e57f6cad8140... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/d3e61f870af3a0e57f6cad8140... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT