Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 0799f1e0 by Tony Chemit at 2024-06-25T16:42:29+02:00 En synchro avancée de données, la modification de la configuration des arbres de navigation ne fonctionne plus - Closes #2887 - - - - - 2 changed files: - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePaneHandler.java - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePaneModel.java Changes: ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePaneHandler.java ===================================== @@ -39,6 +39,7 @@ import fr.ird.observe.navigation.tree.selection.IdState; import fr.ird.observe.navigation.tree.selection.SelectionTree; import fr.ird.observe.navigation.tree.selection.SelectionTreeModel; import fr.ird.observe.navigation.tree.selection.SelectionTreeNode; +import io.ultreia.java4all.i18n.I18n; import io.ultreia.java4all.util.TwoSideContext; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -158,9 +159,11 @@ public class DataSelectionTreePaneHandler implements UIHandler<DataSelectionTree } public static void rebuildTree(DataSynchroModel stepModel, DataSelectionTreePane ui, boolean rebuildFlatModel) { - ui.getTree().getTree().clearSelection(); - stepModel.rebuildSelectionModel(ui.getSide(), rebuildFlatModel); - finalizeTree(ui); + stepModel.getActionExecutor().addAction(I18n.t("observe.ui.tree.reload"), ()-> { + ui.getTree().getTree().clearSelection(); + stepModel.rebuildSelectionModel(ui.getSide(), rebuildFlatModel); + finalizeTree(ui); + }); } public static void afterTreeBuild(DataSelectionTreePane ui) { ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/tree/DataSelectionTreePaneModel.java ===================================== @@ -98,6 +98,7 @@ public class DataSelectionTreePaneModel extends AbstractJavaBean { * Can we delete from this side? */ private boolean canDelete; + public void dispose() { source = null; treeFlatModel = null; @@ -178,7 +179,9 @@ public class DataSelectionTreePaneModel extends AbstractJavaBean { public void rebuildSelectionModel(boolean rebuildFlatModel, List<IdAndLastUpdateDate> otherSideIds) { if (rebuildFlatModel) { - treeFlatModel = selectionDataModel.buildFlatModel(source.getNavigationService()::loadSelectionRoot); + try (ObserveSwingDataSource dataSource = ObserveSwingDataSource.doOpenSource(source)) { + treeFlatModel = selectionDataModel.buildFlatModel(dataSource.getNavigationService()::loadSelectionRoot); + } } selectionDataModel.populate(treeFlatModel, r -> { computeDataIds(r); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0799f1e016c58ae5be8f19c44e... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/0799f1e016c58ae5be8f19c44e... You're receiving this email because of your account on gitlab.com.