Ignore:
Timestamp:
2015-10-10T01:40:42+02:00 (9 years ago)
Author:
Don-vip
Message:

sonar - fb-contrib - minor performance improvements:

  • Method passes constant String of length 1 to character overridden method
  • Method needlessly boxes a boolean constant
  • Method uses iterator().next() on a List to get the first item
  • Method converts String to boxed primitive using excessive boxing
  • Method converts String to primitive using excessive boxing
  • Method creates array using constants
  • Class defines List based fields but uses them like Sets
Location:
trunk/src/org/openstreetmap/josm/tools
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/tools/ColorHelper.java

    r8510 r8846  
    6363        if (col == null)
    6464            return null;
    65         String code = "#"+int2hex(col.getRed())+int2hex(col.getGreen())+int2hex(col.getBlue());
     65        String code = '#'+int2hex(col.getRed())+int2hex(col.getGreen())+int2hex(col.getBlue());
    6666        if (withAlpha) {
    6767            int alpha = col.getAlpha();
  • trunk/src/org/openstreetmap/josm/tools/ExceptionUtil.java

    r8836 r8846  
    267267        if (header != null) {
    268268            if (body != null && !header.equals(body)) {
    269                 msg = header + " (" + body + ")";
     269                msg = header + " (" + body + ')';
    270270            } else {
    271271                msg = header;
  • trunk/src/org/openstreetmap/josm/tools/I18n.java

    r8840 r8846  
    309309        }
    310310        if (strings != null) {
    311             String trans = strings.get(ctx == null ? text : "_:"+ctx+"\n"+text);
     311            String trans = strings.get(ctx == null ? text : "_:"+ctx+'\n'+text);
    312312            if (trans != null)
    313313                return trans;
     
    315315        if (pstrings != null) {
    316316            i = pluralEval(1);
    317             String[] trans = pstrings.get(ctx == null ? text : "_:"+ctx+"\n"+text);
     317            String[] trans = pstrings.get(ctx == null ? text : "_:"+ctx+'\n'+text);
    318318            if (trans != null && trans.length > i)
    319319                return trans[i];
     
    339339        if (pstrings != null) {
    340340            i = pluralEval(num);
    341             String[] trans = pstrings.get(ctx == null ? text : "_:"+ctx+"\n"+text);
     341            String[] trans = pstrings.get(ctx == null ? text : "_:"+ctx+'\n'+text);
    342342            if (trans != null && trans.length > i)
    343343                return trans[i];
     
    353353
    354354    private static URL getTranslationFile(String lang) {
    355         return Main.class.getResource("/data/"+lang.replace("@", "-")+".lang");
     355        return Main.class.getResource("/data/"+lang.replace('@', '-')+".lang");
    356356    }
    357357
  • trunk/src/org/openstreetmap/josm/tools/ImageProvider.java

    r8840 r8846  
    720720                subdir = "";
    721721            } else if (!subdir.isEmpty() && !subdir.endsWith("/")) {
    722                 subdir += "/";
     722                subdir += '/';
    723723            }
    724724            String[] extensions;
     
    742742                    /* cache separately */
    743743                    if (dirs != null && !dirs.isEmpty()) {
    744                         cacheName = "id:" + id + ":" + fullName;
     744                        cacheName = "id:" + id + ':' + fullName;
    745745                        if (archive != null) {
    746                             cacheName += ":" + archive.getName();
     746                            cacheName += ':' + archive.getName();
    747747                        }
    748748                    }
     
    838838                    bytes = Utils.decodeUrl(data).getBytes(StandardCharsets.UTF_8);
    839839                } catch (IllegalArgumentException ex) {
    840                     Main.warn("Unable to decode URL data part: "+ex.getMessage() + " (" + data + ")");
     840                    Main.warn("Unable to decode URL data part: "+ex.getMessage() + " (" + data + ')');
    841841                    return null;
    842842                }
     
    898898            } else {
    899899                final String fn_md5 = Utils.md5Hex(fn);
    900                 url = b + fn_md5.substring(0, 1) + "/" + fn_md5.substring(0, 2) + "/" + fn;
     900                url = b + fn_md5.substring(0, 1) + '/' + fn_md5.substring(0, 2) + "/" + fn;
    901901            }
    902902            result = getIfAvailableHttp(url, type);
     
    922922                inArchiveDir = "";
    923923            } else if (!inArchiveDir.isEmpty()) {
    924                 inArchiveDir += "/";
     924                inArchiveDir += '/';
    925925            }
    926926            String entryName = inArchiveDir + fullName;
     
    11421142        }
    11431143        if (GraphicsEnvironment.isHeadless()) {
    1144             Main.warn("Cursors are not available in headless mode. Returning null for '"+name+"'");
     1144            Main.warn("Cursors are not available in headless mode. Returning null for '"+name+'\'');
    11451145            return null;
    11461146        }
  • trunk/src/org/openstreetmap/josm/tools/LanguageInfo.java

    r8510 r8846  
    5454        } else if (code.matches(".+@.+")) {
    5555          return code.substring(0, 1).toUpperCase(Locale.ENGLISH) + code.substring(1, 2)
    56           + "-" + code.substring(3, 4).toUpperCase(Locale.ENGLISH) + code.substring(4) + ":";
    57         }
    58         return code.substring(0, 1).toUpperCase(Locale.ENGLISH) + code.substring(1) + ":";
     56          + '-' + code.substring(3, 4).toUpperCase(Locale.ENGLISH) + code.substring(4) + ':';
     57        }
     58        return code.substring(0, 1).toUpperCase(Locale.ENGLISH) + code.substring(1) + ':';
    5959    }
    6060
     
    156156     */
    157157    public static Locale getLocale(String localeName) {
    158         int country = localeName.indexOf("_");
    159         int variant = localeName.indexOf("@");
     158        int country = localeName.indexOf('_');
     159        int variant = localeName.indexOf('@');
    160160        if (variant < 0 && country >= 0)
    161             variant = localeName.indexOf("_", country+1);
     161            variant = localeName.indexOf('_', country+1);
    162162        Locale l;
    163163        if (variant > 0 && country > 0) {
     
    198198    public static String getLanguageCodeXML() {
    199199        String code = getJOSMLocaleCode();
    200         code = code.replace("@", "-");
    201         return code+".";
     200        code = code.replace('@', '-');
     201        return code+'.';
    202202    }
    203203
     
    210210    public static String getLanguageCodeManifest() {
    211211        String code = getJOSMLocaleCode();
    212         code = code.replace("@", "-");
    213         return code+"_";
     212        code = code.replace('@', '-');
     213        return code+'_';
    214214    }
    215215
     
    239239        if (v != null && !v.isEmpty()) {
    240240            if (c != null)
    241                 list.add(lang+"_"+c+"@"+v);
    242             list.add(lang+"@"+v);
     241                list.add(lang+'_'+c+'@'+v);
     242            list.add(lang+'@'+v);
    243243        }
    244244        if (c != null)
    245             list.add(lang+"_"+c);
     245            list.add(lang+'_'+c);
    246246        list.add(lang);
    247247        return list;
  • trunk/src/org/openstreetmap/josm/tools/MultiMap.java

    r8510 r8846  
    232232        List<String> entries = new ArrayList<>(map.size());
    233233        for (Entry<A, Set<B>> entry : map.entrySet()) {
    234             entries.add(entry.getKey() + "->{" + Utils.join(",", entry.getValue()) + "}");
    235         }
    236         return "(" + Utils.join(",", entries) + ")";
     234            entries.add(entry.getKey() + "->{" + Utils.join(",", entry.getValue()) + '}');
     235        }
     236        return '(' + Utils.join(",", entries) + ')';
    237237    }
    238238}
  • trunk/src/org/openstreetmap/josm/tools/MultikeyActionsHandler.java

    r8510 r8846  
    209209
    210210    private String formatMenuText(KeyStroke keyStroke, String index, String description) {
    211         String shortcutText = KeyEvent.getKeyModifiersText(keyStroke.getModifiers()) + "+"
    212                 + KeyEvent.getKeyText(keyStroke.getKeyCode()) + "," + index;
     211        String shortcutText = KeyEvent.getKeyModifiersText(keyStroke.getModifiers()) + '+'
     212                + KeyEvent.getKeyText(keyStroke.getKeyCode()) + ',' + index;
    213213
    214214        return "<html><i>" + shortcutText + "</i>&nbsp;&nbsp;&nbsp;&nbsp;" + description;
  • trunk/src/org/openstreetmap/josm/tools/OsmUrlToBounds.java

    r8510 r8846  
    118118        if (map.containsKey(key))
    119119            return Double.parseDouble(map.get(key));
    120         return Double.parseDouble(map.get("m"+key));
     120        return Double.parseDouble(map.get('m'+key));
    121121    }
    122122
     
    296296        double lon = Math.round(dlon * decimals);
    297297        lon /= decimals;
    298         return Main.getOSMWebsite() + "/#map="+zoom+"/"+lat+"/"+lon;
     298        return Main.getOSMWebsite() + "/#map="+zoom+'/'+lat+'/'+lon;
    299299    }
    300300}
  • trunk/src/org/openstreetmap/josm/tools/Pair.java

    r8510 r8846  
    6464    @Override
    6565    public String toString() {
    66         return "<"+a+","+b+">";
     66        return "<"+a+','+b+'>';
    6767    }
    6868
  • trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java

    r8510 r8846  
    295295        result += name;
    296296        if (sc != null && !sc.getKeyText().isEmpty()) {
    297             result += " ";
     297            result += ' ';
    298298            if (canHtml) {
    299299                result += "<font size='-2'>";
    300300            }
    301             result += "("+sc.getKeyText()+")";
     301            result += '('+sc.getKeyText()+')';
    302302            if (canHtml) {
    303303                result += "</font>";
     
    323323    @Override
    324324    public String getOSDescription() {
    325         return System.getProperty("os.name") + " " + System.getProperty("os.version");
     325        return System.getProperty("os.name") + ' ' + System.getProperty("os.version");
    326326    }
    327327
  • trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java

    r8540 r8846  
    153153        result += name;
    154154        if (sc != null && !sc.getKeyText().isEmpty()) {
    155             result += " ";
     155            result += ' ';
    156156            result += "<font size='-2'>";
    157             result += "("+sc.getKeyText()+")";
     157            result += '('+sc.getKeyText()+')';
    158158            result += "</font>";
    159159        }
     
    210210                    String version = Utils.execOutput(Arrays.asList(args));
    211211                    if (version != null && !version.contains("not installed")) {
    212                         return packageName + ":" + version;
     212                        return packageName + ':' + version;
    213213                    }
    214214                }
     
    336336        @Override public String toString() {
    337337            return "ReleaseInfo [path=" + path + ", descriptionField=" + descriptionField +
    338                     ", idField=" + idField + ", releaseField=" + releaseField + "]";
     338                    ", idField=" + idField + ", releaseField=" + releaseField + ']';
    339339        }
    340340
     
    372372                        // If no description has been found, try to rebuild it with "id" + "release" (i.e. "name" + "version")
    373373                        if (result == null && id != null && release != null) {
    374                             result = id + " " + release;
     374                            result = id + ' ' + release;
    375375                        }
    376376                    } catch (IOException e) {
     
    533533                        Main.warn("extended font config - overriding ''{0}={1}'' with ''{2}''", key, prevValue, value);
    534534                    }
    535                     w.append(key + "=" + value + "\n");
     535                    w.append(key + '=' + value + '\n');
    536536                }
    537537                w.append('\n');
     
    540540                        continue;
    541541                    }
    542                     String key = "filename." + entry.name.replace(" ", "_");
     542                    String key = "filename." + entry.name.replace(' ', '_');
    543543                    String value = entry.file;
    544544                    String prevValue = props.getProperty(key);
     
    546546                        Main.warn("extended font config - overriding ''{0}={1}'' with ''{2}''", key, prevValue, value);
    547547                    }
    548                     w.append(key + "=" + value + "\n");
     548                    w.append(key + '=' + value + '\n');
    549549                }
    550550                w.append('\n');
    551551                String fallback = props.getProperty("sequence.fallback");
    552552                if (fallback != null) {
    553                     w.append("sequence.fallback=" + fallback + "," + Utils.join(",", allCharSubsets) + "\n");
     553                    w.append("sequence.fallback=" + fallback + ',' + Utils.join(",", allCharSubsets) + '\n');
    554554                } else {
    555                     w.append("sequence.fallback=" + Utils.join(",", allCharSubsets) + "\n");
     555                    w.append("sequence.fallback=" + Utils.join(",", allCharSubsets) + '\n');
    556556                }
    557557            }
  • trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java

    r8510 r8846  
    187187    @Override
    188188    public String getOSDescription() {
    189         return Utils.strip(System.getProperty("os.name")) + " " +
     189        return Utils.strip(System.getProperty("os.name")) + ' ' +
    190190                ((System.getenv("ProgramFiles(x86)") == null) ? "32" : "64") + "-Bit";
    191191    }
  • trunk/src/org/openstreetmap/josm/tools/Shortcut.java

    r8840 r8846  
    240240        String modifText = KeyEvent.getKeyModifiersText(keyStroke.getModifiers());
    241241        if ("".equals(modifText)) return KeyEvent.getKeyText(keyStroke.getKeyCode());
    242         return modifText + "+" + KeyEvent.getKeyText(keyStroke.getKeyCode());
     242        return modifText + '+' + KeyEvent.getKeyText(keyStroke.getKeyCode());
    243243    }
    244244
  • trunk/src/org/openstreetmap/josm/tools/TextTagParser.java

    r8840 r8846  
    258258            String value = entry.getValue();
    259259            if (key.length() > MAX_KEY_LENGTH) {
    260                 r = warning(tr("Key is too long (max {0} characters):", MAX_KEY_LENGTH), key+"="+value, "tags.paste.keytoolong");
     260                r = warning(tr("Key is too long (max {0} characters):", MAX_KEY_LENGTH), key+'='+value, "tags.paste.keytoolong");
    261261                if (r == 2 || r == 3) return false; if (r == 4) return true;
    262262            }
  • trunk/src/org/openstreetmap/josm/tools/Utils.java

    r8795 r8846  
    12081208            final List<String> lines = Arrays.asList(s.split("\\n"));
    12091209            if (lines.size() > maxLines) {
    1210                 return join("\n", lines.subList(0, maxLines - 1)) + "\n" + "...";
     1210                return join("\n", lines.subList(0, maxLines - 1)) + "\n...";
    12111211            } else {
    12121212                return s;
     
    13411341            String old = System.setProperty(key, value);
    13421342            if (!key.toLowerCase(Locale.ENGLISH).contains("password")) {
    1343                 Main.debug("System property '" + key + "' set to '" + value + "'. Old value was '" + old + "'");
     1343                Main.debug("System property '" + key + "' set to '" + value + "'. Old value was '" + old + '\'');
    13441344            } else {
    13451345                Main.debug("System property '" + key + "' changed.");
     
    13971397        String name = filename.toLowerCase(Locale.ENGLISH);
    13981398        for (String ext : extensions) {
    1399             if (name.endsWith("." + ext.toLowerCase(Locale.ENGLISH)))
     1399            if (name.endsWith('.' + ext.toLowerCase(Locale.ENGLISH)))
    14001400                return true;
    14011401        }
  • trunk/src/org/openstreetmap/josm/tools/WikiReader.java

    r8510 r8846  
    144144                b += line.replaceAll("<img ", "<img border=\"0\" ")
    145145                         .replaceAll("<span class=\"icon\">.</span>", "")
    146                          .replaceAll("href=\"/", "href=\"" + baseurl + "/")
     146                         .replaceAll("href=\"/", "href=\"" + baseurl + '/')
    147147                         .replaceAll(" />", ">")
    148                          + "\n";
     148                         + '\n';
    149149            } else if (transl && line.contains("</div>")) {
    150150                transl = false;
  • trunk/src/org/openstreetmap/josm/tools/WindowGeometry.java

    r8510 r8846  
    474474    @Override
    475475    public String toString() {
    476         return "WindowGeometry{topLeft="+topLeft+",extent="+extent+"}";
     476        return "WindowGeometry{topLeft="+topLeft+",extent="+extent+'}';
    477477    }
    478478}
  • trunk/src/org/openstreetmap/josm/tools/XmlObjectParser.java

    r8840 r8846  
    133133            if ("class".equals(fieldName) || "default".equals(fieldName) || "throw".equals(fieldName) ||
    134134                    "new".equals(fieldName) || "null".equals(fieldName)) {
    135                 fieldName += "_";
     135                fieldName += '_';
    136136            }
    137137            try {
  • trunk/src/org/openstreetmap/josm/tools/XmlParsingException.java

    r8375 r8846  
    6161            msg = getClass().getName();
    6262        }
    63         return msg + " " + tr("(at line {0}, column {1})", lineNumber, columnNumber);
     63        return msg + ' ' + tr("(at line {0}, column {1})", lineNumber, columnNumber);
    6464    }
    6565
  • trunk/src/org/openstreetmap/josm/tools/template_engine/SearchExpressionCondition.java

    r8376 r8846  
    2626    @Override
    2727    public String toString() {
    28         return condition.toString() + " '" + text + "'";
     28        return condition.toString() + " '" + text + '\'';
    2929    }
    3030}
  • trunk/src/org/openstreetmap/josm/tools/template_engine/Tokenizer.java

    r8510 r8846  
    33
    44import java.util.Arrays;
    5 import java.util.List;
     5import java.util.HashSet;
     6import java.util.Set;
    67
    78public class Tokenizer {
     
    3637        @Override
    3738        public String toString() {
    38             return type + (text != null ? " " + text : "");
     39            return type + (text != null ? ' ' + text : "");
    3940        }
    4041    }
     
    4243    public enum TokenType { CONDITION_START, VARIABLE_START, CONTEXT_SWITCH_START, END, PIPE, APOSTROPHE, TEXT, EOF }
    4344
    44     private final List<Character> specialCharaters = Arrays.asList(new Character[] {'$', '?', '{', '}', '|', '\'', '!'});
     45    private final Set<Character> specialCharaters = new HashSet<>(Arrays.asList(new Character[] {'$', '?', '{', '}', '|', '\'', '!'}));
    4546
    4647    private final String template;
  • trunk/src/org/openstreetmap/josm/tools/template_engine/Variable.java

    r8404 r8846  
    5656    @Override
    5757    public String toString() {
    58         return "{" + variableName + "}";
     58        return '{' + variableName + '}';
    5959    }
    6060
Note: See TracChangeset for help on using the changeset viewer.