Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe

Commits:

2 changed files:

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;
    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) {
    

  • 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 {
    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);