Ignore:
Timestamp:
2020-03-21T21:27:36+01:00 (5 years ago)
Author:
Don-vip
Message:

fix #18962 - introduce DataSet.update to avoid repetitive begin/endUpdate statements

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorDialog.java

    r15586 r16187  
    694694         */
    695695        private void tryUndo() {
    696             final DataSet ds = MainApplication.getLayerManager().getActiveDataSet();
    697             int i = fixCommands.size() - 1;
    698             ds.beginUpdate();
    699             for (; i >= 0; i--) {
    700                 fixCommands.get(i).undoCommand();
    701             }
    702             ds.endUpdate();
    703         }
    704 
     696            MainApplication.getLayerManager().getActiveDataSet().update(() -> {
     697                for (int i = fixCommands.size() - 1; i >= 0; i--) {
     698                    fixCommands.get(i).undoCommand();
     699                }
     700            });
     701        }
    705702    }
    706703
     
    723720        @Override
    724721        public void undoCommand() {
    725             getAffectedDataSet().beginUpdate();
    726             super.undoCommand();
    727             getAffectedDataSet().endUpdate();
     722            getAffectedDataSet().update(super::undoCommand);
    728723        }
    729724
    730725        @Override
    731726        public boolean executeCommand() {
    732             getAffectedDataSet().beginUpdate();
    733             boolean rc = super.executeCommand();
    734             getAffectedDataSet().endUpdate();
    735             return rc;
     727            return getAffectedDataSet().update(super::executeCommand);
    736728        }
    737729    }
  • trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java

    r16080 r16187  
    652652        // if uploaded, clean the modified flags as well
    653653        data.cleanupDeletedPrimitives();
    654         data.beginUpdate();
    655         try {
     654        data.update(() -> {
    656655            for (OsmPrimitive p: data.allPrimitives()) {
    657656                if (processed.contains(p)) {
     
    659658                }
    660659            }
    661         } finally {
    662             data.endUpdate();
    663         }
     660        });
    664661    }
    665662
Note: See TracChangeset for help on using the changeset viewer.