Ignore:
Timestamp:
2016-06-17T02:58:36+02:00 (9 years ago)
Author:
Don-vip
Message:
  • remove duplicated code
  • fix various sonar warnings
  • add some javadoc and unit tests
Location:
trunk/src/org/openstreetmap/josm/actions
Files:
17 edited

Legend:

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

    r10382 r10409  
    1313
    1414import org.openstreetmap.josm.Main;
    15 import org.openstreetmap.josm.data.osm.DataSet;
    1615import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1716import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
     
    2625public final class CopyAction extends JosmAction {
    2726
    28     // regular expression that matches text clipboard contents after copying
     27    /** regular expression that matches text clipboard contents after copying */
    2928    public static final String CLIPBOARD_REGEXP = "((node|way|relation)\\s\\d+,)*(node|way|relation)\\s\\d+";
    3029
     
    5756     */
    5857    public static void copy(OsmDataLayer source, Collection<OsmPrimitive> primitives) {
    59         /* copy ids to the clipboard */
     58        // copy ids to the clipboard
    6059        String ids = getCopyString(primitives);
    6160        Utils.copyToClipboard(ids);
     
    7574    @Override
    7675    protected void updateEnabledState() {
    77         DataSet ds = getLayerManager().getEditDataSet();
    78         if (ds == null) {
    79             setEnabled(false);
    80         } else {
    81             updateEnabledState(ds.getSelected());
    82         }
     76        updateEnabledStateOnCurrentSelection();
    8377    }
    8478
  • trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java

    r10382 r10409  
    2525import org.openstreetmap.josm.data.coor.EastNorth;
    2626import org.openstreetmap.josm.data.coor.LatLon;
    27 import org.openstreetmap.josm.data.osm.DataSet;
    2827import org.openstreetmap.josm.data.osm.Node;
    2928import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    290289    @Override
    291290    protected void updateEnabledState() {
    292         DataSet ds = getLayerManager().getEditDataSet();
    293         if (ds == null) {
    294             setEnabled(false);
    295         } else {
    296             updateEnabledState(ds.getSelected());
    297         }
     291        updateEnabledStateOnCurrentSelection();
    298292    }
    299293
  • trunk/src/org/openstreetmap/josm/actions/DeleteAction.java

    r10382 r10409  
    1010
    1111import org.openstreetmap.josm.Main;
    12 import org.openstreetmap.josm.data.osm.DataSet;
    1312import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1413import org.openstreetmap.josm.tools.Shortcut;
     
    3837    @Override
    3938    protected void updateEnabledState() {
    40         DataSet ds = getLayerManager().getEditDataSet();
    41         if (ds == null) {
    42             setEnabled(false);
    43         } else {
    44             updateEnabledState(ds.getSelected());
    45         }
     39        updateEnabledStateOnCurrentSelection();
    4640    }
    4741
  • trunk/src/org/openstreetmap/josm/actions/DistributeAction.java

    r10382 r10409  
    2020import org.openstreetmap.josm.command.MoveCommand;
    2121import org.openstreetmap.josm.command.SequenceCommand;
    22 import org.openstreetmap.josm.data.osm.DataSet;
    2322import org.openstreetmap.josm.data.osm.Node;
    2423import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    301300    @Override
    302301    protected void updateEnabledState() {
    303         DataSet ds = getLayerManager().getEditDataSet();
    304         if (ds == null) {
    305             setEnabled(false);
    306         } else {
    307             updateEnabledState(ds.getSelected());
    308         }
     302        updateEnabledStateOnCurrentSelection();
    309303    }
    310304
  • trunk/src/org/openstreetmap/josm/actions/DownloadReferrersAction.java

    r10382 r10409  
    1111import org.openstreetmap.josm.Main;
    1212import org.openstreetmap.josm.actions.downloadtasks.DownloadReferrersTask;
    13 import org.openstreetmap.josm.data.osm.DataSet;
    1413import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1514import org.openstreetmap.josm.gui.layer.OsmDataLayer;
     
    6261    @Override
    6362    protected void updateEnabledState() {
    64         DataSet ds = getLayerManager().getEditDataSet();
    65         if (ds == null) {
    66             setEnabled(false);
    67         } else {
    68             updateEnabledState(ds.getSelected());
    69         }
     63        updateEnabledStateOnCurrentSelection();
    7064    }
    7165
  • trunk/src/org/openstreetmap/josm/actions/DuplicateAction.java

    r10382 r10409  
    1111
    1212import org.openstreetmap.josm.Main;
    13 import org.openstreetmap.josm.data.osm.DataSet;
    1413import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1514import org.openstreetmap.josm.data.osm.PrimitiveDeepCopy;
     
    3635    @Override
    3736    protected void updateEnabledState() {
    38         DataSet ds = getLayerManager().getEditDataSet();
    39         if (ds == null) {
    40             setEnabled(false);
    41         } else {
    42             updateEnabledState(ds.getSelected());
    43         }
     37        updateEnabledStateOnCurrentSelection();
    4438    }
    4539
  • trunk/src/org/openstreetmap/josm/actions/FollowLineAction.java

    r10382 r10409  
    1616import org.openstreetmap.josm.command.SelectCommand;
    1717import org.openstreetmap.josm.command.SequenceCommand;
    18 import org.openstreetmap.josm.data.osm.DataSet;
    1918import org.openstreetmap.josm.data.osm.Node;
    2019import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    3635public class FollowLineAction extends JosmAction {
    3736
     37    /**
     38     * Constructs a new {@code FollowLineAction}.
     39     */
    3840    public FollowLineAction() {
    3941        super(
     
    4850    @Override
    4951    protected void updateEnabledState() {
    50         DataSet ds = getLayerManager().getEditDataSet();
    51         if (ds == null) {
    52             setEnabled(false);
    53         } else {
    54             updateEnabledState(ds.getSelected());
    55         }
     52        updateEnabledStateOnCurrentSelection();
    5653    }
    5754
  • trunk/src/org/openstreetmap/josm/actions/JoinAreasAction.java

    r10382 r10409  
    15481548    @Override
    15491549    protected void updateEnabledState() {
    1550         DataSet ds = getLayerManager().getEditDataSet();
    1551         if (ds == null) {
    1552             setEnabled(false);
    1553         } else {
    1554             updateEnabledState(ds.getSelected());
    1555         }
     1550        updateEnabledStateOnCurrentSelection();
    15561551    }
    15571552
  • trunk/src/org/openstreetmap/josm/actions/JoinNodeWayAction.java

    r10382 r10409  
    2525import org.openstreetmap.josm.command.SequenceCommand;
    2626import org.openstreetmap.josm.data.coor.EastNorth;
    27 import org.openstreetmap.josm.data.osm.DataSet;
    2827import org.openstreetmap.josm.data.osm.Node;
    2928import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    209208    @Override
    210209    protected void updateEnabledState() {
    211         DataSet ds = getLayerManager().getEditDataSet();
    212         if (ds == null) {
    213             setEnabled(false);
    214         } else {
    215             updateEnabledState(ds.getSelected());
    216         }
     210        updateEnabledStateOnCurrentSelection();
    217211    }
    218212
  • trunk/src/org/openstreetmap/josm/actions/JosmAction.java

    r10369 r10409  
    171171        }
    172172    }
    173    
     173
    174174    /**
    175175     * Installs the listeners to this action.
     
    351351
    352352    /**
     353     * Updates enabled state according to primitives currently selected in edit data set, if any.
     354     * Can be called in {@link #updateEnabledState()} implementations.
     355     * @since 10409
     356     */
     357    protected final void updateEnabledStateOnCurrentSelection() {
     358        DataSet ds = getLayerManager().getEditDataSet();
     359        if (ds == null) {
     360            setEnabled(false);
     361        } else {
     362            updateEnabledState(ds.getSelected());
     363        }
     364    }
     365
     366    /**
    353367     * Adapter for layer change events. Runs updateEnabledState() whenever the active layer changed.
    354368     */
  • trunk/src/org/openstreetmap/josm/actions/MirrorAction.java

    r10382 r10409  
    1818import org.openstreetmap.josm.command.MoveCommand;
    1919import org.openstreetmap.josm.command.SequenceCommand;
    20 import org.openstreetmap.josm.data.osm.DataSet;
    2120import org.openstreetmap.josm.data.osm.Node;
    2221import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    8786    @Override
    8887    protected void updateEnabledState() {
    89         DataSet ds = getLayerManager().getEditDataSet();
    90         if (ds == null) {
    91             setEnabled(false);
    92         } else {
    93             updateEnabledState(ds.getSelected());
    94         }
     88        updateEnabledStateOnCurrentSelection();
    9589    }
    9690
  • trunk/src/org/openstreetmap/josm/actions/MoveAction.java

    r10382 r10409  
    152152    @Override
    153153    protected void updateEnabledState() {
    154         DataSet ds = getLayerManager().getEditDataSet();
    155         if (ds == null) {
    156             setEnabled(false);
    157         } else {
    158             updateEnabledState(ds.getSelected());
    159         }
     154        updateEnabledStateOnCurrentSelection();
    160155    }
    161156
  • trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java

    r10382 r10409  
    276276    @Override
    277277    protected void updateEnabledState() {
    278         DataSet ds = getLayerManager().getEditDataSet();
    279         if (ds == null) {
    280             setEnabled(false);
    281         } else {
    282             updateEnabledState(ds.getSelected());
    283         }
     278        updateEnabledStateOnCurrentSelection();
    284279    }
    285280
  • trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java

    r10382 r10409  
    3232import org.openstreetmap.josm.command.Command;
    3333import org.openstreetmap.josm.command.SequenceCommand;
    34 import org.openstreetmap.josm.data.osm.DataSet;
    3534import org.openstreetmap.josm.data.osm.Node;
    3635import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    658657    @Override
    659658    protected void updateEnabledState() {
    660         DataSet ds = getLayerManager().getEditDataSet();
    661         if (ds == null) {
    662             setEnabled(false);
    663         } else {
    664             updateEnabledState(ds.getSelected());
    665         }
     659        updateEnabledStateOnCurrentSelection();
    666660    }
    667661
  • trunk/src/org/openstreetmap/josm/actions/UnJoinNodeWayAction.java

    r10382 r10409  
    1818import org.openstreetmap.josm.Main;
    1919import org.openstreetmap.josm.command.RemoveNodesCommand;
    20 import org.openstreetmap.josm.data.osm.DataSet;
    2120import org.openstreetmap.josm.data.osm.Node;
    2221import org.openstreetmap.josm.data.osm.OsmPrimitive;
     
    187186    @Override
    188187    protected void updateEnabledState() {
    189         DataSet ds = getLayerManager().getEditDataSet();
    190         if (ds == null) {
    191             setEnabled(false);
    192         } else {
    193             updateEnabledState(ds.getSelected());
    194         }
     188        updateEnabledStateOnCurrentSelection();
    195189    }
    196190
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java

    r10378 r10409  
    253253        }
    254254
    255         protected OsmDataLayer addNewLayerIfRequired(String newLayerName, Bounds bounds) {
     255        protected OsmDataLayer addNewLayerIfRequired(String newLayerName) {
    256256            int numDataLayers = getNumDataLayers();
    257257            if (newLayer || numDataLayers == 0 || (numDataLayers > 1 && getEditLayer() == null)) {
     
    268268
    269269        protected void loadData(String newLayerName, Bounds bounds) {
    270             OsmDataLayer layer = addNewLayerIfRequired(newLayerName, bounds);
     270            OsmDataLayer layer = addNewLayerIfRequired(newLayerName);
    271271            if (layer == null) {
    272272                layer = getEditLayer();
  • trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java

    r10383 r10409  
    690690        if (selectedWay != null) {
    691691            int posn0 = selectedWay.getNodes().indexOf(currentNode);
     692            // CHECKSTYLE.OFF: SingleSpaceSeparator
    692693            if (posn0 != -1 && // n0 is part of way
    693                   // CHECKSTYLE.OFF: SingleSpaceSeparator
    694                   (posn0 >= 1                             && targetNode.equals(selectedWay.getNode(posn0-1))) || // previous node
    695                   (posn0 < selectedWay.getNodesCount()-1) && targetNode.equals(selectedWay.getNode(posn0+1))) {  // next node
    696                   // CHECKSTYLE.ON: SingleSpaceSeparator
     694               (posn0 >= 1                             && targetNode.equals(selectedWay.getNode(posn0-1))) || // previous node
     695               (posn0 < selectedWay.getNodesCount()-1) && targetNode.equals(selectedWay.getNode(posn0+1))) {  // next node
    697696                getLayerManager().getEditDataSet().setSelected(targetNode);
    698697                lastUsedNode = targetNode;
    699698                return true;
    700699            }
     700            // CHECKSTYLE.ON: SingleSpaceSeparator
    701701        }
    702702
Note: See TracChangeset for help on using the changeset viewer.