Ignore:
Timestamp:
2017-04-10T23:49:54+02:00 (7 years ago)
Author:
Don-vip
Message:

add basic unit tests for MergeLayerAction + improve javadoc, code cleanup

File:
1 edited

Legend:

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

    r11848 r11885  
    1010import java.util.Collections;
    1111import java.util.List;
     12import java.util.concurrent.Future;
    1213
    1314import org.openstreetmap.josm.Main;
     
    3839    }
    3940
    40     protected void doMerge(List<Layer> targetLayers, final Collection<Layer> sourceLayers) {
     41    /**
     42     * Submits merge of layers.
     43     * @param targetLayers possible target layers
     44     * @param sourceLayers source layers
     45     * @return a Future representing pending completion of the merge task, or {@code null}
     46     * @since 11885 (return type)
     47     */
     48    protected Future<?> doMerge(List<Layer> targetLayers, final Collection<Layer> sourceLayers) {
    4149        final Layer targetLayer = askTargetLayer(targetLayers);
    4250        if (targetLayer == null)
    43             return;
     51            return null;
    4452        final Object actionName = getValue(NAME);
    45         Main.worker.submit(() -> {
     53        return Main.worker.submit(() -> {
    4654                final long start = System.currentTimeMillis();
    4755                boolean layerMerged = false;
     
    6977     * Merges a list of layers together.
    7078     * @param sourceLayers The layers to merge
     79     * @return a Future representing pending completion of the merge task, or {@code null}
     80     * @since 11885 (return type)
    7181     */
    72     public void merge(List<Layer> sourceLayers) {
    73         doMerge(sourceLayers, sourceLayers);
     82    public Future<?> merge(List<Layer> sourceLayers) {
     83        return doMerge(sourceLayers, sourceLayers);
    7484    }
    7585
     
    7787     * Merges the given source layer with another one, determined at runtime.
    7888     * @param sourceLayer The source layer to merge
     89     * @return a Future representing pending completion of the merge task, or {@code null}
     90     * @since 11885 (return type)
    7991     */
    80     public void merge(Layer sourceLayer) {
     92    public Future<?> merge(Layer sourceLayer) {
    8193        if (sourceLayer == null)
    82             return;
     94            return null;
    8395        List<Layer> targetLayers = LayerListDialog.getInstance().getModel().getPossibleMergeTargets(sourceLayer);
    8496        if (targetLayers.isEmpty()) {
    8597            warnNoTargetLayersForSourceLayer(sourceLayer);
    86             return;
     98            return null;
    8799        }
    88         doMerge(targetLayers, Collections.singleton(sourceLayer));
     100        return doMerge(targetLayers, Collections.singleton(sourceLayer));
    89101    }
    90102
     
    112124    }
    113125
     126    /**
     127     * Returns the source layer.
     128     * @return the source layer
     129     */
    114130    protected Layer getSourceLayer() {
    115         return Main.map != null ? Main.getLayerManager().getActiveLayer() : null;
     131        return Main.getLayerManager().getActiveLayer();
    116132    }
    117133
Note: See TracChangeset for help on using the changeset viewer.