Changeset 15717 in josm for trunk/src/org/openstreetmap/josm/gui/dialogs/properties/AbstractCopyAction.java
- Timestamp:
- 2020-01-18T14:14:01+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/properties/AbstractCopyAction.java
r13956 r15717 3 3 4 4 import java.awt.event.ActionEvent; 5 import java.util.Arrays; 5 6 import java.util.Collection; 6 7 import java.util.Objects; 7 import java.util.Set;8 import java.util.TreeSet;9 8 import java.util.function.IntFunction; 10 9 import java.util.function.Supplier; 10 import java.util.stream.Collectors; 11 11 12 12 import javax.swing.AbstractAction; … … 15 15 import org.openstreetmap.josm.data.osm.Tagged; 16 16 import org.openstreetmap.josm.gui.datatransfer.ClipboardUtils; 17 import org.openstreetmap.josm.tools.Utils;18 17 19 18 /** … … 44 43 public void actionPerformed(ActionEvent ae) { 45 44 int[] rows = tagTable.getSelectedRows(); 46 Set<String> values = new TreeSet<>();47 45 Collection<? extends Tagged> sel = objectSupplier.get(); 48 46 if (rows.length == 0 || sel == null || sel.isEmpty()) return; 49 47 50 for (int row: rows) { 51 String key = keySupplier.apply(row); 52 for (Tagged p : sel) { 53 Collection<String> s = getString(p, key); 54 if (s != null) { 55 values.addAll(s); 56 } 57 } 58 } 48 final String values = Arrays.stream(rows) 49 .mapToObj(keySupplier) 50 .flatMap(key -> sel.stream().map(p -> getString(p, key))) 51 .filter(Objects::nonNull) 52 .flatMap(Collection::stream) 53 .sorted() 54 .collect(Collectors.joining("\n")); 59 55 if (!values.isEmpty()) { 60 ClipboardUtils.copyString( Utils.join("\n", values));56 ClipboardUtils.copyString(values); 61 57 } 62 58 }
Note:
See TracChangeset
for help on using the changeset viewer.