Ignore:
Timestamp:
2019-06-02T15:25:38+02:00 (5 years ago)
Author:
Don-vip
Message:

more uses of Java 8 stream API

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadTaskList.java

    r14153 r15152  
    1111import java.util.ArrayList;
    1212import java.util.Collection;
    13 import java.util.HashSet;
    1413import java.util.LinkedHashSet;
    1514import java.util.LinkedList;
    1615import java.util.List;
     16import java.util.Objects;
    1717import java.util.Set;
    1818import java.util.concurrent.CancellationException;
    1919import java.util.concurrent.ExecutionException;
    2020import java.util.concurrent.Future;
     21import java.util.stream.Collectors;
    2122
    2223import javax.swing.JOptionPane;
     
    126127     */
    127128    protected Set<OsmPrimitive> getCompletePrimitives(DataSet ds) {
    128         Set<OsmPrimitive> ret = new HashSet<>();
    129         for (OsmPrimitive primitive : ds.allPrimitives()) {
    130             if (!primitive.isIncomplete() && !primitive.isNew()) {
    131                 ret.add(primitive);
    132             }
    133         }
    134         return ret;
     129        return ds.allPrimitives().stream().filter(p -> !p.isIncomplete() && !p.isNew()).collect(Collectors.toSet());
    135130    }
    136131
     
    210205     */
    211206    public Set<OsmPrimitive> getDownloadedPrimitives() {
    212         Set<OsmPrimitive> ret = new HashSet<>();
    213         for (DownloadTask task : tasks) {
    214             if (task instanceof DownloadOsmTask) {
    215                 DataSet ds = ((DownloadOsmTask) task).getDownloadedData();
    216                 if (ds != null) {
    217                     ret.addAll(ds.allPrimitives());
    218                 }
    219             }
    220         }
    221         return ret;
     207        return tasks.stream()
     208                .filter(t -> t instanceof DownloadOsmTask)
     209                .map(t -> ((DownloadOsmTask) t).getDownloadedData())
     210                .filter(Objects::nonNull)
     211                .flatMap(ds -> ds.allPrimitives().stream())
     212                .collect(Collectors.toSet());
    222213    }
    223214
Note: See TracChangeset for help on using the changeset viewer.