Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 1a0f5077 by Tony Chemit at 2023-08-31T11:09:10+02:00 update pom - - - - - d8bbdba4 by Tony Chemit at 2023-08-31T11:09:10+02:00 La valeur de configuration instance.security.key n'est pas bien enregistrée même si elle est présente dans les fichiers de configuration commun (/var/local/observe-server/.conf/9.x) - Closes #2769 - - - - - d6d04bde by Tony Chemit at 2023-08-31T11:09:10+02:00 Contraindre les caractéristiques d'équipement (common.gearcharacteristic) autorisées pour un équipement (common.gear) donné - Closes #2765 - - - - - cb86501e by Tony Chemit at 2023-08-31T11:09:10+02:00 Rajouter un type 'Liste de choix' dans GearCharacteristicType et une nouvelle table gearCharacteristicListItem et remplissage des listes utilisées à l'AZTI - Closes #2764 - - - - - 5 changed files: - client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/GearUseFeaturesMeasurementsTableModelSupport.java - core/persistence/migration/src/main/resources/db/migration/v9/9.2/11_02_issue-2764_fill-table-common_gearcharacteristiclistitem-common.sql - pom.xml - server/configuration/src/main/java/fr/ird/observe/server/configuration/ServerConfig.java Changes: ===================================== client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java ===================================== @@ -141,9 +141,9 @@ public class ClientConfig extends GeneratedClientConfig implements TripMapConfig * * @since 1.5 */ - private final String[] doNotSave = new String[]{ + private final Set<String> doNotSave = Set.of( // ClientConfigOption.OBSTUNA_PASSWORD.getKey(), - ClientConfigOption.H2_PASSWORD.getKey(), ClientConfigOption.OBSTUNA_CAN_MIGRATE.getKey(),}; + ClientConfigOption.H2_PASSWORD.getKey(), ClientConfigOption.OBSTUNA_CAN_MIGRATE.getKey()); private final SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm z"); /** ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/GearUseFeaturesMeasurementsTableModelSupport.java ===================================== @@ -72,9 +72,10 @@ public abstract class GearUseFeaturesMeasurementsTableModelSupport<E extends Bus GearUseFeaturesMeasurementsTableModelSupport<E, P> model = (GearUseFeaturesMeasurementsTableModelSupport<E, P>) table.getModel(); ui.getTableModel().registerInlineModel(model, table); + ContentTableUITableModel<?, P, ?> tableUIModel = ui.getTableModel(); @SuppressWarnings("unchecked") P tableEditBean = (P) ui.getTableEditBean(); - tableEditBean.addPropertyChangeListener("gear", evt -> model.onGearChanged(ui.getTableModel(), (GearReference) evt.getNewValue())); - + tableEditBean.addPropertyChangeListener("gear", evt -> model.onGearChanged(tableUIModel, (GearReference) evt.getNewValue())); + tableUIModel.addPropertyChangeListener(ContentTableUITableModel.SELECTED_ROW_PROPERTY, evt-> model.onGearChanged(tableUIModel, tableEditBean.getGear())); model.gearsById = Maps.uniqueIndex(ui.getHandler().getReferentialService().loadDtoList(GearDto.class), GearDto::getId); model.gearCharacteristicListItemsById = Maps.uniqueIndex(ui.getHandler().getReferentialReferences(GearCharacteristicListItemReference.class), GearCharacteristicListItemReference::getId); JXTableUtil.setI18nTableHeaderRenderer(table, GearUseFeaturesMeasurementAware.class, "gearCharacteristic", "measurementValue"); @@ -99,15 +100,19 @@ public abstract class GearUseFeaturesMeasurementsTableModelSupport<E extends Bus } private void onGearChanged(ContentTableUITableModel<?, P, ?> tableModel, GearReference newGear) { - if (!tableModel.isCreate()) { + if (!tableModel.isEditable()) { return; } if (tableModel.isAdjusting()) { return; } String gearId = newGear == null ? null : newGear.getId(); + log.info("Use gear: {}", gearId); updateAllowedCharacteristics(gearId); - setDefaultMeasurementsOnSelectedRow(gearId, tableModel.getSelectedRow()); + if (tableModel.isCreate()) { + // add default measurements + setDefaultMeasurementsOnSelectedRow(gearId, tableModel.getSelectedRow()); + } } // public void onAfterLoadRowBeanToEdit(int editingRow, P tableEditBean, boolean newRow) { ===================================== core/persistence/migration/src/main/resources/db/migration/v9/9.2/11_02_issue-2764_fill-table-common_gearcharacteristiclistitem-common.sql ===================================== @@ -183,13 +183,13 @@ INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreat INSERT INTO common.GearCharacteristic (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, gearCharacteristicType) VALUES ('fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 'L013', null, null, false, 1, 'Brand and model (Sonda desconocida ?)', 'Marque et modèle (Sonda desconocida ?)', 'Marca y modelo (Sonda desconocida)', 'fr.ird.referential.common.GearCharacteristicType#1464000000000#0.8'); -- INSERT INTO common.Gear_GearCharacteristic(gear, gearCharacteristic) VALUES('fr.ird.referential.common.Gear#1239832686125#0.16', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); -- UPDATE common.Gear SET topiaVersion = topiaVersion + 1, lastUpdateDate = ${CURRENT_TIMESTAMP} WHERE topiaId = 'fr.ird.referential.common.Gear#1239832686125#0.16'; -INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013001', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '002_001', null, null, false, 1, 'CRAME - 828', 'CRAME - 828', 'CRAME - 828', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); -INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013002', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '002_001', null, null, false, 1, 'FURUNO - FCV-220/221T', 'FURUNO - FCV-220/221T', 'FURUNO - FCV-220/221T', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); -INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013003', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '002_001', null, null, false, 1, 'HONDEX - HE-301 A/N', 'HONDEX - HE-301 A/N', 'HONDEX - HE-301 A/N', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); -INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013004', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '002_001', null, null, false, 1, 'HONDEX - HE-710 MARK II', 'HONDEX - HE-710 MARK II', 'HONDEX - HE-710 MARK II', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); -INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013005', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '002_001', null, null, false, 1, 'HONDEX - HE-710 MARK III', 'HONDEX - HE-710 MARK III', 'HONDEX - HE-710 MARK III', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); -INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013006', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '002_001', null, null, false, 1, 'SKIPPER - 802', 'SKIPPER - 802', 'SKIPPER - 802', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); -INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013007', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '002_001', null, null, false, 1, 'SIMRAD - ST15', 'SIMRAD - ST15', 'SIMRAD - ST15', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); +INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013001', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '013_001', null, null, false, 1, 'CRAME - 828', 'CRAME - 828', 'CRAME - 828', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); +INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013002', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '013_002', null, null, false, 1, 'FURUNO - FCV-220/221T', 'FURUNO - FCV-220/221T', 'FURUNO - FCV-220/221T', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); +INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013003', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '013_003', null, null, false, 1, 'HONDEX - HE-301 A/N', 'HONDEX - HE-301 A/N', 'HONDEX - HE-301 A/N', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); +INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013004', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '013_004', null, null, false, 1, 'HONDEX - HE-710 MARK II', 'HONDEX - HE-710 MARK II', 'HONDEX - HE-710 MARK II', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); +INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013005', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '013_005', null, null, false, 1, 'HONDEX - HE-710 MARK III', 'HONDEX - HE-710 MARK III', 'HONDEX - HE-710 MARK III', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); +INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013006', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '013_006', null, null, false, 1, 'SKIPPER - 802', 'SKIPPER - 802', 'SKIPPER - 802', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); +INSERT INTO common.GearCharacteristicListItem (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, comment, gearCharacteristic) VALUES ('fr.ird.referential.common.GearCharacteristicListItem#${REFERENTIAL_PREFIX}013007', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, '013_007', null, null, false, 1, 'SIMRAD - ST15', 'SIMRAD - ST15', 'SIMRAD - ST15', null, 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}013'); -- LIST 014 Sonda (38) INSERT INTO common.GearCharacteristic (topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, homeid, needcomment, status, label1, label2, label3, gearCharacteristicType) VALUES ('fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}014', 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 'L014', null, null, false, 1, 'Brand and model (Sonda ?)', 'Marque et modèle (Sonda ?)', 'Marca y modelo (Sonda)', 'fr.ird.referential.common.GearCharacteristicType#1464000000000#0.8'); INSERT INTO common.Gear_GearCharacteristic(gear, gearCharacteristic) VALUES('fr.ird.referential.common.Gear#1239832686125#0.16', 'fr.ird.referential.common.GearCharacteristic#${REFERENTIAL_PREFIX}014'); ===================================== pom.xml ===================================== @@ -23,7 +23,7 @@ <parent> <groupId>io.ultreia.maven</groupId> <artifactId>pom</artifactId> - <version>2023.37</version> + <version>2023.41</version> </parent> <groupId>fr.ird.observe</groupId> <artifactId>ird-observe</artifactId> ===================================== server/configuration/src/main/java/fr/ird/observe/server/configuration/ServerConfig.java ===================================== @@ -42,6 +42,8 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Collections; import java.util.Map; +import java.util.Properties; +import java.util.Set; /** * Web server configuration. @@ -90,9 +92,13 @@ public class ServerConfig extends GeneratedServerConfig implements CleanTemporar ServerConfig fakeConfig = new ServerConfig(setCommonExtraConfigDirectory(setConfigFileName(init)), true); fakeConfig.initFirst(); + // Get extra scope options (if any) + Properties extraProperties = new Properties(); + fakeConfig.get().putAll(extraProperties, ApplicationConfigScope.EXTRA); + extraProperties.put(ServerConfigOption.CONTEXT_PATH.getKey(), contextPath); // Now that common files are ready, starts a normal configuration without system file and without migration possible ApplicationConfigInit realInit = ApplicationConfigInit.forAllScopesWithout(ApplicationConfigScope.HOME, ApplicationConfigScope.ENV, ApplicationConfigScope.SYSTEM) - .addDefaults(ServerConfigOption.CONTEXT_PATH.getKey(), contextPath); + .setDefaults(extraProperties); ServerConfig config = new ServerConfig(setInstanceExtraConfigDirectory(setConfigFileName(realInit))); config.init(true); @@ -143,7 +149,7 @@ public class ServerConfig extends GeneratedServerConfig implements CleanTemporar File extraConfigFile = get().getExtraConfigFile(); if (Files.notExists(extraConfigFile.toPath())) { log.info(String.format("Save common configuration file to: %s", extraConfigFile)); - ConfigHelper.save(get(), extraConfigFile, new String[0], ServerResources.APPLICATION_CONFIGURATION, options()); + ConfigHelper.save(get(), extraConfigFile, Set.of(), ServerResources.APPLICATION_CONFIGURATION, options()); } File log4jConfigurationFile = getCommonLog4jConfigurationFile(); @@ -174,7 +180,7 @@ public class ServerConfig extends GeneratedServerConfig implements CleanTemporar // See https://gitlab.com/ultreiaio/ird-observe/-/issues/2735 log.info(String.format("Save instance configuration file to: %s", extraConfigFile)); - ConfigHelper.save(get(), extraConfigFile, new String[0], ServerResources.APPLICATION_CONFIGURATION, options()); + ConfigHelper.save(get(), extraConfigFile, Set.of(), ServerResources.APPLICATION_CONFIGURATION, options()); if (log.isInfoEnabled()) { String message = getConfigurationDescription(); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/8a7748a7d3455f7f9f9a94847... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/8a7748a7d3455f7f9f9a94847... You're receiving this email because of your account on gitlab.com.