Changeset 6258 in josm


Ignore:
Timestamp:
2013-09-25T02:56:42+02:00 (11 years ago)
Author:
Don-vip
Message:

Sonar/Findbugs - Performance - Inefficient use of keySet iterator instead of entrySet iterator

Location:
trunk/src/org/openstreetmap/josm
Files:
12 edited

Legend:

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

    r6130 r6258  
    1212import java.util.List;
    1313import java.util.Map;
    14 
     14import java.util.Map.Entry;
    1515import java.util.Set;
    1616import java.util.TreeSet;
     17
    1718import javax.swing.JOptionPane;
    18 
    1919import javax.swing.SwingUtilities;
     20
    2021import org.openstreetmap.josm.Main;
    2122import org.openstreetmap.josm.command.AddCommand;
     
    5152public class CreateMultipolygonAction extends JosmAction {
    5253
     54    /**
     55     * Constructs a new {@code CreateMultipolygonAction}.
     56     */
    5357    public CreateMultipolygonAction() {
    5458        super(tr("Create multipolygon"), "multipoly_create", tr("Create multipolygon."),
     
    258262        boolean moveTags = Main.pref.getBoolean("multipoly.movetags", true);
    259263
    260         for( String key : values.keySet() ) {
     264        for (Entry<String, String> entry : values.entrySet()) {
    261265            List<OsmPrimitive> affectedWays = new ArrayList<OsmPrimitive>();
    262             String value = values.get(key);
    263 
    264             for( Way way : innerWays ) {
    265                 if( way.hasKey(key) && (value.equals(way.get(key))) ) {
     266            String key = entry.getKey();
     267            String value = entry.getValue();
     268
     269            for (Way way : innerWays) {
     270                if (way.hasKey(key) && (value.equals(way.get(key)))) {
    266271                    affectedWays.add(way);
    267272                }
    268273            }
    269274
    270             if( moveTags ) {
     275            if (moveTags) {
    271276                // remove duplicated tags from outer ways
    272277                for( Way way : outerWays ) {
     
    277282            }
    278283
    279             if(!affectedWays.isEmpty()) {
     284            if (!affectedWays.isEmpty()) {
    280285                // reset key tag on affected ways
    281286                commands.add(new ChangePropertyCommand(affectedWays, key, null));
     
    283288        }
    284289
    285         if( moveTags ) {
     290        if (moveTags) {
    286291            // add those tag values to the relation
    287292
    288293            boolean fixed = false;
    289294            Relation r2 = new Relation(relation);
    290             for( String key : values.keySet() ) {
    291                 if( !r2.hasKey(key) && !key.equals("area") ) {
    292                     if( relation.isNew() )
    293                         relation.put(key, values.get(key));
     295            for (Entry<String, String> entry : values.entrySet()) {
     296                String key = entry.getKey();
     297                if (!r2.hasKey(key) && !key.equals("area") ) {
     298                    if (relation.isNew())
     299                        relation.put(key, entry.getValue());
    294300                    else
    295                         r2.put(key, values.get(key));
     301                        r2.put(key, entry.getValue());
    296302                    fixed = true;
    297303                }
    298304            }
    299             if( fixed && !relation.isNew() )
     305            if (fixed && !relation.isNew())
    300306                commands.add(new ChangeCommand(relation, r2));
    301307        }
  • trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java

    r6106 r6258  
    1313import java.util.List;
    1414import java.util.Map;
     15import java.util.Map.Entry;
    1516
    1617import org.openstreetmap.josm.Main;
     
    4041    private static final String help = ht("/Action/PasteTags");
    4142
     43    /**
     44     * Constructs a new {@code PasteTagsAction}.
     45     */
    4246    public PasteTagsAction() {
    4347        super(tr("Paste Tags"), "pastetags",
     
    270274
    271275        List<Command> commands = new ArrayList<Command>(tags.size());
    272         String v;
    273         for (String key: tags.keySet()) {
    274             v = tags.get(key);
    275             commands.add(new ChangePropertyCommand(selection, key, "".equals(v)?null:v));
     276        for (Entry<String, String> entry: tags.entrySet()) {
     277            String v = entry.getValue();
     278            commands.add(new ChangePropertyCommand(selection, entry.getKey(), "".equals(v)?null:v));
    276279        }
    277280        commitCommands(selection, commands);
  • trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java

    r6248 r6258  
    895895    private static void deletePreferenceKeyByPattern(String pattern, Preferences pref) {
    896896        Map<String, Setting> allSettings = pref.getAllSettings();
    897         for (String key : allSettings.keySet()) {
     897        for (Entry<String, Setting> entry : allSettings.entrySet()) {
     898            String key = entry.getKey();
    898899            if (key.matches(pattern)) {
    899                 log("Deleting preferences:  deleting key from preferences: " + key);
    900                 pref.putSetting(key, allSettings.get(key).getNullInstance());
     900                log("Deleting preferences: deleting key from preferences: " + key);
     901                pref.putSetting(key, entry.getValue().getNullInstance());
    901902            }
    902903        }
     
    906907        Map<String, Setting> allSettings = pref.getAllSettings();
    907908        if (allSettings.containsKey(key)) {
    908             log("Deleting preferences:  deleting key from preferences: " + key);
     909            log("Deleting preferences: deleting key from preferences: " + key);
    909910            pref.putSetting(key, allSettings.get(key).getNullInstance());
    910911        }
  • trunk/src/org/openstreetmap/josm/data/validation/tests/Addresses.java

    r6240 r6258  
    1313import java.util.List;
    1414import java.util.Map;
     15import java.util.Map.Entry;
    1516import java.util.Set;
    1617
     
    147148            // Report duplicate house numbers
    148149            String englishDescription = marktr("House number ''{0}'' duplicated");
    149             for (String key : map.keySet()) {
    150                 List<OsmPrimitive> list = map.get(key);
     150            for (Entry<String, List<OsmPrimitive>> entry : map.entrySet()) {
     151                List<OsmPrimitive> list = entry.getValue();
    151152                if (list.size() > 1) {
    152153                    errors.add(new AddressError(DUPLICATE_HOUSE_NUMBER, list,
    153                             tr("Duplicate house numbers"), tr(englishDescription, key), englishDescription));
     154                            tr("Duplicate house numbers"), tr(englishDescription, entry.getKey()), englishDescription));
    154155                }
    155156            }
  • trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateNode.java

    r6241 r6258  
    1515import java.util.List;
    1616import java.util.Map;
     17import java.util.Map.Entry;
    1718import java.util.Set;
    1819
     
    207208
    208209                int nbType=0;
    209                 for (String type: typeMap.keySet()) {
    210                     if (typeMap.get(type)) {
     210                for (Entry<String, Boolean> entry: typeMap.entrySet()) {
     211                    if (entry.getValue()) {
    211212                        nbType++;
    212213                    }
  • trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java

    r6248 r6258  
    2121import java.util.Locale;
    2222import java.util.Map;
     23import java.util.Map.Entry;
    2324import java.util.Set;
    2425import java.util.Stack;
     
    665666        if (!nlists.isEmpty()) {
    666667            Double minDistSq = null;
    667             List<Node> nlist;
    668             for (Double distSq : nlists.keySet()) {
    669                 nlist = nlists.get(distSq);
     668            for (Entry<Double, List<Node>> entry : nlists.entrySet()) {
     669                Double distSq = entry.getKey();
     670                List<Node> nlist = entry.getValue();
    670671
    671672                // filter nodes to be ignored before determining minDistSq..
     
    754755     */
    755756    public final Node getNearestNode(Point p, Predicate<OsmPrimitive> predicate,
    756             boolean use_selected, Collection<OsmPrimitive> preferredRefs) {
     757            boolean useSelected, Collection<OsmPrimitive> preferredRefs) {
    757758
    758759        Map<Double, List<Node>> nlists = getNearestNodesImpl(p, predicate);
     
    761762        if (preferredRefs != null && preferredRefs.isEmpty()) preferredRefs = null;
    762763        Node ntsel = null, ntnew = null, ntref = null;
    763         boolean useNtsel = use_selected;
     764        boolean useNtsel = useSelected;
    764765        double minDistSq = nlists.keySet().iterator().next();
    765766
    766         for (Double distSq : nlists.keySet()) {
    767             for (Node nd : nlists.get(distSq)) {
     767        for (Entry<Double, List<Node>> entry : nlists.entrySet()) {
     768            Double distSq = entry.getKey();
     769            for (Node nd : entry.getValue()) {
    768770                // find the nearest selected node
    769771                if (ntsel == null && nd.isSelected()) {
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java

    r6087 r6258  
    2020import java.util.List;
    2121import java.util.Map;
     22import java.util.Map.Entry;
    2223
    2324import javax.swing.AbstractAction;
     
    451452            }
    452453            String text = "";
    453             for (OsmPrimitiveType type: stat.keySet()) {
    454                 int numPrimitives = stat.get(type) == null ? 0 : stat.get(type);
     454            for (Entry<OsmPrimitiveType, Integer> entry: stat.entrySet()) {
     455                OsmPrimitiveType type = entry.getKey();
     456                int numPrimitives = entry.getValue() == null ? 0 : entry.getValue();
    455457                if (numPrimitives == 0) {
    456458                    continue;
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/sort/RelationSorter.java

    r5630 r6258  
    1010import java.util.List;
    1111import java.util.Map;
     12import java.util.Map.Entry;
    1213
    1314import org.openstreetmap.josm.data.osm.RelationMember;
     
    6566    }
    6667
    67     /*
     68    /**
    6869     * Sort a collection of relation members by the way they are linked.
    6970     *
     
    9394
    9495        // Sort members and add them to result
    95         for (AdditionalSorter s : customMap.keySet()) {
    96             newMembers.addAll(s.sortMembers(customMap.get(s)));
     96        for (Entry<AdditionalSorter, List<RelationMember>> entry : customMap.entrySet()) {
     97            newMembers.addAll(entry.getKey().sortMembers(entry.getValue()));
    9798        }
    9899
  • trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java

    r6084 r6258  
    2222import java.util.List;
    2323import java.util.Map;
     24import java.util.Map.Entry;
    2425
    2526import javax.swing.AbstractAction;
     
    312313    public void setDefaultChangesetTags(Map<String, String> tags) {
    313314        pnlTagSettings.setDefaultTags(tags);
    314          for (String key: tags.keySet()) {
    315             if (key.equals("comment")) {
    316                 changesetCommentModel.setComment(tags.get(key));
     315         for (Entry<String, String> entry: tags.entrySet()) {
     316            if ("comment".equals(entry.getKey())) {
     317                changesetCommentModel.setComment(entry.getValue());
    317318            }
    318319        }
  • trunk/src/org/openstreetmap/josm/gui/tagging/TagEditorModel.java

    r6092 r6258  
    1313import java.util.List;
    1414import java.util.Map;
     15import java.util.Map.Entry;
    1516
    1617import javax.swing.DefaultListSelectionModel;
     
    369370    public void initFromTags(Map<String,String> tags) {
    370371        this.tags.clear();
    371         for (String key : tags.keySet()) {
    372             String value = tags.get(key);
    373             this.tags.add(new TagModel(key,value));
     372        for (Entry<String, String> entry : tags.entrySet()) {
     373            this.tags.add(new TagModel(entry.getKey(), entry.getValue()));
    374374        }
    375375        sort();
  • trunk/src/org/openstreetmap/josm/io/ChangesetQuery.java

    r6087 r6258  
    1313import java.util.HashMap;
    1414import java.util.Map;
     15import java.util.Map.Entry;
    1516
    1617import org.openstreetmap.josm.data.Bounds;
     
    368369            ChangesetQuery csQuery = new ChangesetQuery();
    369370
    370             for (String k: queryParams.keySet()) {
     371            for (Entry<String, String> entry: queryParams.entrySet()) {
     372                String k = entry.getKey();
    371373                if (k.equals("uid")) {
    372374                    if (queryParams.containsKey("display_name"))
     
    378380                    csQuery.forUser(queryParams.get("display_name"));
    379381                } else if (k.equals("open")) {
    380                     boolean b = parseBoolean(queryParams.get(k), "open");
     382                    boolean b = parseBoolean(entry.getValue(), "open");
    381383                    csQuery.beingOpen(b);
    382384                } else if (k.equals("closed")) {
    383                     boolean b = parseBoolean(queryParams.get(k), "closed");
     385                    boolean b = parseBoolean(entry.getValue(), "closed");
    384386                    csQuery.beingClosed(b);
    385387                } else if (k.equals("time")) {
    386                     Date[] dates = parseTime(queryParams.get(k));
     388                    Date[] dates = parseTime(entry.getValue());
    387389                    switch(dates.length) {
    388390                    case 1:
     
    395397                } else if (k.equals("bbox")) {
    396398                    try {
    397                         csQuery.inBbox(new Bounds(queryParams.get(k), ","));
     399                        csQuery.inBbox(new Bounds(entry.getValue(), ","));
    398400                    } catch(IllegalArgumentException e) {
    399401                        throw new ChangesetQueryUrlException(e);
    400402                    }
    401403                } else
    402                     throw new ChangesetQueryUrlException(tr("Unsupported parameter ''{0}'' in changeset query string",k ));
     404                    throw new ChangesetQueryUrlException(tr("Unsupported parameter ''{0}'' in changeset query string", k));
    403405            }
    404406            return csQuery;
  • trunk/src/org/openstreetmap/josm/tools/TextTagParser.java

    r6246 r6258  
    99import java.util.HashMap;
    1010import java.util.Map;
     11import java.util.Map.Entry;
    1112import java.util.regex.Matcher;
    1213import java.util.regex.Pattern;
     
    232233     */
    233234    public static boolean validateTags(Map<String, String> tags) {
    234         String value;
    235235        int r;
    236236        int s = tags.size();
     
    242242            if (r==2 || r==3) return false; if (r==4) return true;
    243243        }
    244         for (String key: tags.keySet()) {
    245             value = tags.get(key);
     244        for (Entry<String, String> entry : tags.entrySet()) {
     245            String key = entry.getKey();
     246            String value = entry.getValue();
    246247            if (key.length() > MAX_KEY_LENGTH) {
    247248                r = warning(tr("Key is too long (max {0} characters):", MAX_KEY_LENGTH), key+"="+value, "tags.paste.keytoolong");
Note: See TracChangeset for help on using the changeset viewer.