Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
0799f1e0
by Tony Chemit at 2024-06-25T16:42:29+02:00
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:
| ... | ... | @@ -39,6 +39,7 @@ import fr.ird.observe.navigation.tree.selection.IdState; |
| 39 | 39 | import fr.ird.observe.navigation.tree.selection.SelectionTree;
|
| 40 | 40 | import fr.ird.observe.navigation.tree.selection.SelectionTreeModel;
|
| 41 | 41 | import fr.ird.observe.navigation.tree.selection.SelectionTreeNode;
|
| 42 | +import io.ultreia.java4all.i18n.I18n;
|
|
| 42 | 43 | import io.ultreia.java4all.util.TwoSideContext;
|
| 43 | 44 | import org.apache.logging.log4j.LogManager;
|
| 44 | 45 | import org.apache.logging.log4j.Logger;
|
| ... | ... | @@ -158,9 +159,11 @@ public class DataSelectionTreePaneHandler implements UIHandler<DataSelectionTree |
| 158 | 159 | }
|
| 159 | 160 | |
| 160 | 161 | public static void rebuildTree(DataSynchroModel stepModel, DataSelectionTreePane ui, boolean rebuildFlatModel) {
|
| 161 | - ui.getTree().getTree().clearSelection();
|
|
| 162 | - stepModel.rebuildSelectionModel(ui.getSide(), rebuildFlatModel);
|
|
| 163 | - finalizeTree(ui);
|
|
| 162 | + stepModel.getActionExecutor().addAction(I18n.t("observe.ui.tree.reload"), ()-> {
|
|
| 163 | + ui.getTree().getTree().clearSelection();
|
|
| 164 | + stepModel.rebuildSelectionModel(ui.getSide(), rebuildFlatModel);
|
|
| 165 | + finalizeTree(ui);
|
|
| 166 | + });
|
|
| 164 | 167 | }
|
| 165 | 168 | |
| 166 | 169 | public static void afterTreeBuild(DataSelectionTreePane ui) {
|
| ... | ... | @@ -98,6 +98,7 @@ public class DataSelectionTreePaneModel extends AbstractJavaBean { |
| 98 | 98 | * Can we delete from this side?
|
| 99 | 99 | */
|
| 100 | 100 | private boolean canDelete;
|
| 101 | + |
|
| 101 | 102 | public void dispose() {
|
| 102 | 103 | source = null;
|
| 103 | 104 | treeFlatModel = null;
|
| ... | ... | @@ -178,7 +179,9 @@ public class DataSelectionTreePaneModel extends AbstractJavaBean { |
| 178 | 179 | |
| 179 | 180 | public void rebuildSelectionModel(boolean rebuildFlatModel, List<IdAndLastUpdateDate> otherSideIds) {
|
| 180 | 181 | if (rebuildFlatModel) {
|
| 181 | - treeFlatModel = selectionDataModel.buildFlatModel(source.getNavigationService()::loadSelectionRoot);
|
|
| 182 | + try (ObserveSwingDataSource dataSource = ObserveSwingDataSource.doOpenSource(source)) {
|
|
| 183 | + treeFlatModel = selectionDataModel.buildFlatModel(dataSource.getNavigationService()::loadSelectionRoot);
|
|
| 184 | + }
|
|
| 182 | 185 | }
|
| 183 | 186 | selectionDataModel.populate(treeFlatModel, r -> {
|
| 184 | 187 | computeDataIds(r);
|