Changeset 15717 in josm


Ignore:
Timestamp:
2020-01-18T14:14:01+01:00 (4 years ago)
Author:
simon04
Message:

Java 8: use Collectors.joining

Location:
trunk
Files:
1 added
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/projection/Projections.java

    r13602 r15717  
    1717import java.util.regex.Matcher;
    1818import java.util.regex.Pattern;
     19import java.util.stream.Collectors;
    1920
    2021import org.openstreetmap.josm.data.projection.datum.Datum;
     
    4445import org.openstreetmap.josm.tools.JosmRuntimeException;
    4546import org.openstreetmap.josm.tools.Logging;
    46 import org.openstreetmap.josm.tools.Utils;
    4747
    4848/**
     
    407407
    408408    private static String listKeys(Map<String, ?> map) {
    409         List<String> keys = new ArrayList<>(map.keySet());
    410         Collections.sort(keys);
    411         return Utils.join(", ", keys);
     409        return map.keySet().stream()
     410                .sorted()
     411                .collect(Collectors.joining(", "));
    412412    }
    413413
  • trunk/src/org/openstreetmap/josm/gui/MapView.java

    r15371 r15717  
    7676import org.openstreetmap.josm.tools.Logging;
    7777import org.openstreetmap.josm.tools.Shortcut;
    78 import org.openstreetmap.josm.tools.Utils;
    7978import org.openstreetmap.josm.tools.bugreport.BugReport;
    8079
     
    816815     */
    817816    public String getLayerInformationForSourceTag() {
    818         final Set<String> layerInfo = layerManager.getVisibleLayersInZOrder().stream()
     817        return layerManager.getVisibleLayersInZOrder().stream()
    819818                .filter(layer -> layer.getChangesetSourceTag() != null && !layer.getChangesetSourceTag().trim().isEmpty())
    820                 .map(layer -> layer.getChangesetSourceTag().trim()).distinct().collect(Collectors.toSet());
    821         return Utils.join("; ", layerInfo);
     819                .map(layer -> layer.getChangesetSourceTag().trim())
     820                .distinct()
     821                .collect(Collectors.joining("; "));
    822822    }
    823823
  • trunk/src/org/openstreetmap/josm/gui/dialogs/properties/AbstractCopyAction.java

    r13956 r15717  
    33
    44import java.awt.event.ActionEvent;
     5import java.util.Arrays;
    56import java.util.Collection;
    67import java.util.Objects;
    7 import java.util.Set;
    8 import java.util.TreeSet;
    98import java.util.function.IntFunction;
    109import java.util.function.Supplier;
     10import java.util.stream.Collectors;
    1111
    1212import javax.swing.AbstractAction;
     
    1515import org.openstreetmap.josm.data.osm.Tagged;
    1616import org.openstreetmap.josm.gui.datatransfer.ClipboardUtils;
    17 import org.openstreetmap.josm.tools.Utils;
    1817
    1918/**
     
    4443    public void actionPerformed(ActionEvent ae) {
    4544        int[] rows = tagTable.getSelectedRows();
    46         Set<String> values = new TreeSet<>();
    4745        Collection<? extends Tagged> sel = objectSupplier.get();
    4846        if (rows.length == 0 || sel == null || sel.isEmpty()) return;
    4947
    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"));
    5955        if (!values.isEmpty()) {
    60             ClipboardUtils.copyString(Utils.join("\n", values));
     56            ClipboardUtils.copyString(values);
    6157        }
    6258    }
  • trunk/src/org/openstreetmap/josm/gui/io/DownloadPrimitivesWithReferrersTask.java

    r14153 r15717  
    1313import java.util.List;
    1414import java.util.Set;
     15import java.util.stream.Collectors;
    1516
    1617import javax.swing.JLabel;
     
    3334import org.openstreetmap.josm.io.OsmTransferException;
    3435import org.openstreetmap.josm.tools.GBC;
    35 import org.openstreetmap.josm.tools.Utils;
    3636import org.xml.sax.SAXException;
    3737
     
    219219        txt.setColumns(40);
    220220        txt.setRows(1);
    221         txt.setText(Utils.join(", ", errs));
     221        txt.setText(errs.stream().map(String::valueOf).collect(Collectors.joining(", ")));
    222222        JScrollPane scroll = new JScrollPane(txt);
    223223        p.add(scroll, GBC.eop().weight(1.0, 0.0).fill(GBC.HORIZONTAL));
  • trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java

    r14201 r15717  
    77import java.util.Arrays;
    88import java.util.Collection;
    9 import java.util.HashSet;
    109import java.util.LinkedList;
    1110import java.util.List;
    12 import java.util.Set;
    1311
    1412import javax.swing.ImageIcon;
     
    347345            return (MapCSSStyleSource) entry;
    348346        }
    349         Set<String> mimes = new HashSet<>(Arrays.asList(MapCSSStyleSource.MAPCSS_STYLE_MIME_TYPES.split(", ")));
    350         try (CachedFile cf = new CachedFile(entry.url).setHttpAccept(Utils.join(", ", mimes))) {
     347        try (CachedFile cf = new CachedFile(entry.url).setHttpAccept(MapCSSStyleSource.MAPCSS_STYLE_MIME_TYPES)) {
    351348            String zipEntryPath = cf.findZipEntryPath("mapcss", "style");
    352349            if (zipEntryPath != null) {
  • trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.java

    r15716 r15717  
    307307     * @param args arguments
    308308     * @return assembled string
    309      * @see Utils#join
     309     * @see Collectors#joining
    310310     */
    311311    @NullableArguments
    312312    public static String concat(Object... args) { // NO_UCD (unused code)
    313         return Utils.join("", Arrays.asList(args));
     313        return Arrays.stream(args).map(String::valueOf).collect(Collectors.joining());
    314314    }
    315315
  • trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSRule.java

    r12379 r15717  
    44import java.util.List;
    55import java.util.Objects;
     6import java.util.stream.Collectors;
    67
    78import org.openstreetmap.josm.gui.mappaint.Environment;
    89import org.openstreetmap.josm.gui.mappaint.StyleSource;
    9 import org.openstreetmap.josm.tools.Utils;
    1010
    1111/**
     
    109109    @Override
    110110    public String toString() {
    111         return selector + " {\n  " + Utils.join("\n  ", declaration.instructions) + "\n}";
     111        return selector + declaration.instructions.stream()
     112                .map(String::valueOf)
     113                .collect(Collectors.joining("\n  ", " {\n  ", "\n}"));
    112114    }
    113115}
  • trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSStyleSource.java

    r15588 r15717  
    2929import java.util.concurrent.locks.ReadWriteLock;
    3030import java.util.concurrent.locks.ReentrantReadWriteLock;
     31import java.util.stream.Collectors;
    3132import java.util.zip.ZipEntry;
    3233import java.util.zip.ZipFile;
     
    811812    @Override
    812813    public String toString() {
    813         return Utils.join("\n", rules);
     814        return rules.stream().map(MapCSSRule::toString).collect(Collectors.joining("\n"));
    814815    }
    815816}
  • trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/Selector.java

    r15289 r15717  
    1414import java.util.function.IntSupplier;
    1515import java.util.regex.PatternSyntaxException;
     16import java.util.stream.Collectors;
    1617
    1718import org.openstreetmap.josm.data.osm.INode;
     
    783784        @Override
    784785        public String toString() {
    785             return base + (Range.ZERO_TO_INFINITY.equals(range) ? "" : range) + (conds != null ? Utils.join("", conds) : "")
     786            return base
     787                    + (Range.ZERO_TO_INFINITY.equals(range) ? "" : range)
     788                    + (conds != null ? conds.stream().map(String::valueOf).collect(Collectors.joining("")) : "")
    786789                    + (subpart != null && subpart != Subpart.DEFAULT_SUBPART ? ("::" + subpart) : "");
    787790        }
  • trunk/src/org/openstreetmap/josm/gui/preferences/imagery/AddWMSLayerPanel.java

    r15228 r15717  
    3030import org.openstreetmap.josm.tools.GBC;
    3131import org.openstreetmap.josm.tools.Logging;
    32 import org.openstreetmap.josm.tools.Utils;
    3332
    3433/**
     
    161160                )
    162161            );
    163             name.setText(wms.buildRootUrlWithoutCapabilities() + ": " + Utils.join(", ", tree.getSelectedLayers()));
     162            name.setText(wms.buildRootUrlWithoutCapabilities() + ": " +
     163                    tree.getSelectedLayers().stream().map(LayerDetails::toString).collect(Collectors.joining(", ")));
    164164        }
    165165        showBounds.setEnabled(tree.getSelectedLayers().size() == 1);
  • trunk/src/org/openstreetmap/josm/io/MultiFetchOverpassObjectReader.java

    r12816 r15717  
    33
    44import java.util.Set;
    5 import java.util.function.Function;
     5import java.util.stream.Collectors;
    66
    77import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
     
    1717    @Override
    1818    protected String buildRequestString(final OsmPrimitiveType type, Set<Long> idPackage) {
    19         final Function<Long, Object> toOverpassExpression = x -> type.getAPIName() + '(' + x + ");>;";
    20         final String query = '(' + Utils.join("", Utils.transform(idPackage, toOverpassExpression)) + ");out meta;";
     19        final String query = idPackage.stream()
     20                .map(x -> type.getAPIName() + '(' + x + ");>;")
     21                .collect(Collectors.joining("", "(", ");out meta;"));
    2122        return "interpreter?data=" + Utils.encodeUrl(query);
    2223    }
  • trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java

    r15520 r15717  
    2323import java.util.concurrent.Executors;
    2424import java.util.concurrent.Future;
     25import java.util.stream.Collectors;
    2526
    2627import org.openstreetmap.josm.data.osm.DataSet;
     
    270271     */
    271272    protected String buildRequestString(final OsmPrimitiveType type, Set<Long> idPackage) {
    272         return type.getAPIName() + "s?" + type.getAPIName() + "s=" + Utils.join(",", idPackage);
     273        return type.getAPIName() + "s?" + type.getAPIName() + "s=" + idPackage.stream().map(String::valueOf).collect(Collectors.joining(","));
    273274    }
    274275
  • trunk/src/org/openstreetmap/josm/io/session/SessionWriter.java

    r14741 r15717  
    99import java.nio.charset.StandardCharsets;
    1010import java.nio.file.Files;
    11 import java.util.ArrayList;
    1211import java.util.Collection;
    1312import java.util.HashMap;
    1413import java.util.List;
    1514import java.util.Map;
     15import java.util.Objects;
    1616import java.util.Set;
     17import java.util.stream.Collectors;
    1718import java.util.zip.ZipEntry;
    1819import java.util.zip.ZipOutputStream;
     
    237238            }
    238239            Set<Layer> deps = dependencies.get(layer);
    239             if (deps != null && !deps.isEmpty()) {
    240                 List<Integer> depsInt = new ArrayList<>();
    241                 for (Layer depLayer : deps) {
    242                     int depIndex = layers.indexOf(depLayer);
    243                     if (depIndex == -1) {
    244                         Logging.warn("Unable to find " + depLayer);
    245                     } else {
    246                         depsInt.add(depIndex+1);
    247                     }
     240            final String depends = deps == null ? "" : deps.stream().map(depLayer -> {
     241                int depIndex = layers.indexOf(depLayer);
     242                if (depIndex == -1) {
     243                    Logging.warn("Unable to find " + depLayer);
     244                    return null;
     245                } else {
     246                    return Integer.toString(depIndex+1);
    248247                }
    249                 if (!depsInt.isEmpty()) {
    250                     el.setAttribute("depends", Utils.join(",", depsInt));
    251                 }
     248            }).filter(Objects::nonNull).collect(Collectors.joining(","));
     249            if (!depends.isEmpty()) {
     250                el.setAttribute("depends", depends);
    252251            }
    253252            layersEl.appendChild(el);
  • trunk/src/org/openstreetmap/josm/tools/MultiMap.java

    r12865 r15717  
    22package org.openstreetmap.josm.tools;
    33
    4 import java.util.ArrayList;
    54import java.util.Collection;
    65import java.util.Collections;
    76import java.util.HashMap;
    87import java.util.LinkedHashSet;
    9 import java.util.List;
    108import java.util.Map;
    119import java.util.Map.Entry;
    1210import java.util.Objects;
    1311import java.util.Set;
     12import java.util.stream.Collectors;
    1413
    1514/**
     
    246245    @Override
    247246    public String toString() {
    248         List<String> entries = new ArrayList<>(map.size());
    249         for (Entry<A, Set<B>> entry : map.entrySet()) {
    250             entries.add(entry.getKey() + "->{" + Utils.join(",", entry.getValue()) + '}');
    251         }
    252         return '(' + Utils.join(",", entries) + ')';
     247        return map.entrySet().stream()
     248                .map(entry -> entry.getKey() + "->" + entry.getValue())
     249                .collect(Collectors.joining(",", "(", ")"));
    253250    }
    254251}
  • trunk/test/functional/org/openstreetmap/josm/io/MultiFetchServerObjectReaderTest.java

    r14190 r15717  
    1818import java.text.MessageFormat;
    1919import java.util.ArrayList;
     20import java.util.Arrays;
    2021import java.util.Locale;
    2122import java.util.Random;
     23import java.util.TreeSet;
    2224import java.util.logging.Logger;
    2325
     
    3537import org.openstreetmap.josm.data.osm.Node;
    3638import org.openstreetmap.josm.data.osm.OsmPrimitive;
     39import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    3740import org.openstreetmap.josm.data.osm.Relation;
    3841import org.openstreetmap.josm.data.osm.RelationMember;
     
    4245
    4346import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
     47import org.openstreetmap.josm.testutils.JOSMTestRules;
    4448
    4549/**
     
    4953public class MultiFetchServerObjectReaderTest {
    5054    private static Logger logger = Logger.getLogger(MultiFetchServerObjectReader.class.getName());
     55
     56    /**
     57     * Setup test.
     58     */
     59    @Rule
     60    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
     61    public JOSMTestRules test = new JOSMTestRules().preferences();
    5162
    5263    /**
     
    332343        assertEquals(9999999, reader.getMissingPrimitives().iterator().next().getUniqueId());
    333344    }
     345
     346    /**
     347     * Test {@link MultiFetchServerObjectReader#buildRequestString}
     348     */
     349    @Test
     350    public void testBuildRequestString() {
     351        String requestString = new MultiFetchServerObjectReader()
     352                .buildRequestString(OsmPrimitiveType.WAY, new TreeSet<>(Arrays.asList(130L, 123L, 126L)));
     353        assertEquals("ways?ways=123,126,130", requestString);
     354    }
    334355}
  • trunk/test/unit/org/openstreetmap/josm/plugins/PluginHandlerTest.java

    r14317 r15717  
    1010import java.util.Arrays;
    1111import java.util.List;
     12import java.util.stream.Collectors;
     13import java.util.stream.Stream;
    1214
    1315import javax.swing.JScrollPane;
     
    2426import org.openstreetmap.josm.testutils.mockers.HelpAwareOptionPaneMocker;
    2527import org.openstreetmap.josm.testutils.mockers.JOptionPaneSimpleMocker;
    26 import org.openstreetmap.josm.tools.Utils;
    27 
    2828import com.google.common.collect.ImmutableMap;
    2929
     
    7070        final String old = System.getProperty("josm.plugins");
    7171        try {
    72             System.setProperty("josm.plugins",
    73                     Utils.join(",", PluginHandler.DEPRECATED_PLUGINS) + "," +
    74                     Utils.join(",", Arrays.asList(PluginHandler.UNMAINTAINED_PLUGINS)));
     72            final String plugins = Stream.concat(
     73                    PluginHandler.DEPRECATED_PLUGINS.stream(),
     74                    PluginHandler.UNMAINTAINED_PLUGINS.stream()
     75            ).map(String::valueOf).collect(Collectors.joining(","));
     76            System.setProperty("josm.plugins", plugins);
    7577            List<PluginInformation> list = PluginHandler.buildListOfPluginsToLoad(null, null);
    7678            assertNotNull(list);
Note: See TracChangeset for help on using the changeset viewer.