Changeset 12865 in josm for trunk/src/org/openstreetmap/josm/gui/tagging/ac
- Timestamp:
- 2017-09-15T01:20:41+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/tagging/ac/AutoCompletionManager.java
r12859 r12865 506 506 } 507 507 508 private static void registerListeners(AutoCompletionManager autoCompletionManager) {509 autoCompletionManager.ds.addDataSetListener(autoCompletionManager);508 private AutoCompletionManager registerListeners() { 509 ds.addDataSetListener(this); 510 510 MainApplication.getLayerManager().addLayerChangeListener(new LayerChangeListener() { 511 511 @Override 512 512 public void layerRemoving(LayerRemoveEvent e) { 513 513 if (e.getRemovedLayer() instanceof OsmDataLayer 514 && ((OsmDataLayer) e.getRemovedLayer()).data == autoCompletionManager.ds) {515 INSTANCES.remove( autoCompletionManager.ds);516 autoCompletionManager.ds.removeDataSetListener(autoCompletionManager);514 && ((OsmDataLayer) e.getRemovedLayer()).data == ds) { 515 INSTANCES.remove(ds); 516 ds.removeDataSetListener(AutoCompletionManager.this); 517 517 MainApplication.getLayerManager().removeLayerChangeListener(this); 518 518 } … … 529 529 } 530 530 }); 531 return this; 531 532 } 532 533 … … 538 539 */ 539 540 public static AutoCompletionManager of(DataSet dataSet) { 540 AutoCompletionManager result = INSTANCES.get(dataSet); 541 if (result == null) { 542 result = new AutoCompletionManager(dataSet); 543 INSTANCES.put(dataSet, result); 544 registerListeners(result); 545 } 546 return result; 541 return INSTANCES.computeIfAbsent(dataSet, ds -> new AutoCompletionManager(ds).registerListeners()); 547 542 } 548 543 }
Note:
See TracChangeset
for help on using the changeset viewer.