[Git][ultreiaio/ird-observe][develop] 3 commits: Add new client configuration option showSensibleCriteriaInTripBulkChanges
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: de95fb1f by Tony Chemit at 2024-09-05T12:26:25+02:00 Add new client configuration option showSensibleCriteriaInTripBulkChanges - - - - - b7bc8cf9 by Tony Chemit at 2024-09-05T12:26:53+02:00 use new client configuration option showSensibleCriteriaInTripBulkChanges in BulkModify ui - - - - - 1995338f by Tony Chemit at 2024-09-05T12:26:58+02:00 Merge branch 'feature/issue-2816' into develop Fonction de changement de programme en masse - Closes #2816 - - - - - 8 changed files: - client/configuration/src/main/config/Client.ini - client/configuration/src/main/i18n/getters/config.getter - client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/rlist/actions/BulkModify.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/rlist/bulk/BulkModifyUIModel.java - client/runner/src/main/i18n/translations/client-runner_en_GB.properties - client/runner/src/main/i18n/translations/client-runner_es_ES.properties - client/runner/src/main/i18n/translations/client-runner_fr_FR.properties Changes: ===================================== client/configuration/src/main/config/Client.ini ===================================== @@ -955,6 +955,12 @@ key = ui.nauticalLength.format type = io.ultreia.java4all.jaxx.widgets.length.nautical.NauticalLengthFormat defaultValue = M +[option showSensibleCriteriaInTripBulkChanges] +description = observe.config.showSensibleCriteriaInTripBulkChanges +key = ui.showSensibleCriteriaInTripBulkChanges +type = Boolean +defaultValue = false + [option treeGroupByName] description = observe.config.ui.tree.groupByName key = ui.tree.config.groupByName ===================================== client/configuration/src/main/i18n/getters/config.getter ===================================== @@ -96,6 +96,7 @@ observe.config.navigationIconsPath.description observe.config.pg.can.migrate.description observe.config.remoteDataSourceConfigurations.description observe.config.serverDataSourceConfigurations.description +observe.config.showSensibleCriteriaInTripBulkChanges observe.config.showSql observe.config.simplifiedObjectTypeSpecializedRules.description observe.config.sizeMeasureType.seine.localmarket.sample ===================================== client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java ===================================== @@ -386,32 +386,32 @@ public class ClientConfigUI extends JXTitledPanel implements WithClientUIContext private void addExpertOptions(ObserveConfigUIBuilder helper) { helper.addCategory(n("observe.config.category.expert"), - n("observe.config.category.expert.description"), - "application"); + n("observe.config.category.expert.description")); - helper.addOption(ClientConfigOption.LOAD_LOCAL_STORAGE); + helper.addOption(ClientConfigOption.LOAD_LOCAL_STORAGE).setOptionCallBack("application"); - helper.addOption(ClientConfigOption.BACKUP_USE); - helper.addOption(ClientConfigOption.BACKUP_DELAY); - helper.addOption(ClientConfigOption.BACKUP_AT_CLOSE); + helper.addOption(ClientConfigOption.BACKUP_USE).setOptionCallBack("application"); + helper.addOption(ClientConfigOption.BACKUP_DELAY).setOptionCallBack("application"); + helper.addOption(ClientConfigOption.BACKUP_AT_CLOSE).setOptionCallBack("application"); - helper.addOption(ClientConfigOption.REPORT_DIRECTORY); + helper.addOption(ClientConfigOption.REPORT_DIRECTORY).setOptionCallBack("application"); - helper.addOption(ClientConfigOption.TEMPORARY_FILES_TIMEOUT); - helper.addOption(ClientConfigOption.LOG_FILES_TIMEOUT); - helper.addOption(ClientConfigOption.FEEDBACK_FILES_TIMEOUT); - helper.addOption(ClientConfigOption.BACKUP_FILES_TIMEOUT); + helper.addOption(ClientConfigOption.TEMPORARY_FILES_TIMEOUT).setOptionCallBack("application"); + helper.addOption(ClientConfigOption.LOG_FILES_TIMEOUT).setOptionCallBack("application"); + helper.addOption(ClientConfigOption.FEEDBACK_FILES_TIMEOUT).setOptionCallBack("application"); + helper.addOption(ClientConfigOption.BACKUP_FILES_TIMEOUT).setOptionCallBack("application"); - helper.addOption(ClientConfigOption.CHANGE_SYNCHRO_SRC); - helper.addOption(ClientConfigOption.H2_CAN_MIGRATE); - helper.addOption(ClientConfigOption.OBSTUNA_CAN_MIGRATE); - helper.addOption(ClientConfigOption.H2_SERVER_PORT); - helper.addOption(ClientConfigOption.H2_CAN_EDIT_REFERENTIAL); - helper.addOption(ClientConfigOption.AVDTH_FORCE_IMPORT); + helper.addOption(ClientConfigOption.CHANGE_SYNCHRO_SRC).setOptionCallBack("application"); + helper.addOption(ClientConfigOption.H2_CAN_MIGRATE).setOptionCallBack("application"); + helper.addOption(ClientConfigOption.OBSTUNA_CAN_MIGRATE).setOptionCallBack("application"); + helper.addOption(ClientConfigOption.H2_SERVER_PORT).setOptionCallBack("application"); + helper.addOption(ClientConfigOption.H2_CAN_EDIT_REFERENTIAL).setOptionCallBack("ui"); + helper.addOption(ClientConfigOption.AVDTH_FORCE_IMPORT).setOptionCallBack("ui"); helper.addOption(ClientConfigOption.SHOW_SQL); helper.addOption(ClientConfigOption.USE_JVM_KEY_STORE); - helper.addOption(ClientConfigOption.SKIP_CONSOLIDATE_STEP_FOR_REPORT); + helper.addOption(ClientConfigOption.SKIP_CONSOLIDATE_STEP_FOR_REPORT).setOptionCallBack("ui"); + helper.addOption(ClientConfigOption.SHOW_SENSIBLE_CRITERIA_IN_TRIP_BULK_CHANGES).setOptionCallBack("ui"); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/rlist/actions/BulkModify.java ===================================== @@ -71,6 +71,7 @@ public class BulkModify<D extends RootOpenableDto, R extends DataDtoReference, U String moduleName = navigationTreeConfig.getModuleName(); BusinessModule businessModule = ObserveBusinessProject.get().getBusinessModuleByName(moduleName); BulkModifyUIModel<R> model = new BulkModifyUIModel<>(navigationTreeConfig, + getClientConfig().isShowSensibleCriteriaInTripBulkChanges(), new ModuleGroupByHelper(businessModule), getMainUI().getBusyModel(), ui.getModel().getStates().createReferenceCache(!navigationTreeConfig.isLoadDisabledGroupBy()), ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/rlist/bulk/BulkModifyUIModel.java ===================================== @@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.editor.api.content.data.rlist.bulk; * #L% */ +import fr.ird.observe.client.configuration.ClientConfig; import fr.ird.observe.client.datasource.api.cache.ReferencesCache; import fr.ird.observe.dto.data.DataGroupByDtoDefinition; import fr.ird.observe.dto.reference.DataDtoReference; @@ -36,6 +37,7 @@ import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import java.util.List; import java.util.Objects; +import java.util.Set; import java.util.stream.Collectors; /** @@ -50,6 +52,16 @@ public class BulkModifyUIModel<R extends DataDtoReference> extends AbstractJavaB public static final String PROPERTY_SELECTED_CRITERIA = "selectedCriteria"; public static final String PROPERTY_SELECTED_VALUE = "selectedValue"; public static final String PROPERTY_CAN_APPLY = "canApply"; + /** + * Sensible criteria to hide if client configuration option is off. + * <p> + * See {@link ClientConfig#isShowSensibleCriteriaInTripBulkChanges()} + */ + private static final Set<String> SENSIBLE_CRITERIA = Set.of( + "dataLlCommonTripGroupByOcean", + "dataPsCommonTripGroupByOcean", + "dataPsCommonTripGroupByLandingHarbour" + ); /** * Module groupBy helper. */ @@ -88,6 +100,7 @@ public class BulkModifyUIModel<R extends DataDtoReference> extends AbstractJavaB private ReferentialDtoReference selectedValue; public BulkModifyUIModel(NavigationTreeConfig navigationTreeConfig, + boolean showSensibleCriteriaInTripBulkChanges, ModuleGroupByHelper moduleGroupByHelper, BusyModel busyModel, ReferencesCache referencesCache, @@ -96,18 +109,24 @@ public class BulkModifyUIModel<R extends DataDtoReference> extends AbstractJavaB this.navigationTreeConfig = Objects.requireNonNull(navigationTreeConfig); this.moduleGroupByHelper = Objects.requireNonNull(moduleGroupByHelper); this.busyModel = Objects.requireNonNull(busyModel); - this.availableCriteria.addAll(moduleGroupByHelper.getGroupByDefinitions().stream().filter(BulkModifyUIModel::acceptCriteria).collect(Collectors.toList())); + this.availableCriteria.addAll(moduleGroupByHelper.getGroupByDefinitions().stream().filter(c -> acceptCriteria(c, showSensibleCriteriaInTripBulkChanges)).collect(Collectors.toList())); this.referencesCache = Objects.requireNonNull(referencesCache); this.data = Objects.requireNonNull(data); this.navigationCriteriaDefinition = getModuleGroupByHelper().getDefinition(navigationTreeConfig.getGroupByName()); // Using the navigation tree config criteria (if possible) - if (BulkModifyUIModel.acceptCriteria(navigationCriteriaDefinition)) { + if (BulkModifyUIModel.acceptCriteria(navigationCriteriaDefinition, showSensibleCriteriaInTripBulkChanges)) { setSelectedCriteria(navigationCriteriaDefinition); + } else { + // otherwise use the first available criteria + setSelectedCriteria(availableCriteria.getElementAt(0)); } } - public static boolean acceptCriteria(DataGroupByDtoDefinition<?, ?> d) { - return d.isQualitative() && !d.isQualitativeWithSecondLevel(); + public static boolean acceptCriteria(DataGroupByDtoDefinition<?, ?> d, boolean showSensibleCriteriaInTripBulkChanges) { + if (!d.isQualitative() || d.isQualitativeWithSecondLevel()) { + return false; + } + return showSensibleCriteriaInTripBulkChanges || !SENSIBLE_CRITERIA.contains(d.getName()); } public DataGroupByDtoDefinition<?, ?> getNavigationCriteriaDefinition() { ===================================== client/runner/src/main/i18n/translations/client-runner_en_GB.properties ===================================== @@ -113,6 +113,7 @@ observe.config.navigationIconsPath.description=Default navigation icons path. observe.config.pg.can.migrate.description=Flat sets to true when you can migrate remote data sources observe.config.remoteDataSourceConfigurations.description=Remote data source configurations observe.config.serverDataSourceConfigurations.description=Server data source configurations +observe.config.showSensibleCriteriaInTripBulkChanges=Show sensible criteria (ocean, landing harbour, ...) in Trip bulk changes observe.config.showSql=Show sql observe.config.simplifiedObjectTypeSpecializedRules.description=simplified object type specialized rules observe.config.sizeMeasureType.seine.localmarket.sample=Authorized size measure type on local market ===================================== client/runner/src/main/i18n/translations/client-runner_es_ES.properties ===================================== @@ -113,6 +113,7 @@ observe.config.navigationIconsPath.description=Default navigation icons path. \# observe.config.pg.can.migrate.description=Autorizar la actualización de las bases remotas (debe ser el propietario de la base) observe.config.remoteDataSourceConfigurations.description=Conexiónes a fuentes remotas observe.config.serverDataSourceConfigurations.description=Conexiones a servidores remotos +observe.config.showSensibleCriteriaInTripBulkChanges=Show sensible criteria (ocean, landing harbour, ...) in Trip bulk changes \#TODO observe.config.showSql=Mostrar en todas las consultas sql ejecutadas observe.config.simplifiedObjectTypeSpecializedRules.description=simplified object type specialized rules \#TODO observe.config.sizeMeasureType.seine.localmarket.sample=Authorized size measure type on local market ===================================== client/runner/src/main/i18n/translations/client-runner_fr_FR.properties ===================================== @@ -113,6 +113,7 @@ observe.config.navigationIconsPath.description=Chemin vers les icônes de naviga observe.config.pg.can.migrate.description=Autoriser la mise à jour des bases distantes (il faut être propriétaire de la base) observe.config.remoteDataSourceConfigurations.description=connexions à des sources distantes observe.config.serverDataSourceConfigurations.description=connexions à des serveurs distantes +observe.config.showSensibleCriteriaInTripBulkChanges=Pour autoriser la modification en masse de marées sur des criètres dit « sensibles » observe.config.showSql=Afficher dans les logs toutes les requêtes sql exécutées observe.config.simplifiedObjectTypeSpecializedRules.description=Liste des règles supplémentaires pour la détermination du type simplifié d'un DCP observe.config.sizeMeasureType.seine.localmarket.sample=Type de mesure autorisées pour les échantillons du marché local View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/77540b5fdeace22ff6b2e168e... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/77540b5fdeace22ff6b2e168e... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT (@tchemit)