Changeset 19629 in josm


Ignore:
Timestamp:
2026-10-01T17:54:30+02:00 (less than one hour ago)
Author:
gaben
Message:

see #24635 - fix PMD violations

  • use String.isBlank() instead of trim().isEmpty(),
  • method references,
  • EnumMap for enum keys
  • drop redundant initializers/toString() calls and unused annotations,
  • remove unused private getDefensiveDate()
  • use an explicit charset for Content-length
Location:
trunk
Files:
41 edited

Legend:

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

    r18211 r19629  
    7070        updateEnabledStateOnModifiableSelection(selection);
    7171        if (isEnabled() && !Utils.isEmpty(selection)
    72                 && DownloadPolicy.BLOCKED.equals(selection.iterator().next().getDataSet().getDownloadPolicy())) {
     72                && selection.iterator().next().getDataSet().getDownloadPolicy() == DownloadPolicy.BLOCKED) {
    7373            setEnabled(false);
    7474        }
  • trunk/src/org/openstreetmap/josm/actions/JumpToAction.java

    r17188 r19629  
    174174
    175175            if (option != 1) return;
    176             if (place.hasFocus() && !place.getText().trim().isEmpty()) {
     176            if (place.hasFocus() && !place.getText().isBlank()) {
    177177                try {
    178178                    List<NameFinder.SearchResult> searchResults = NameFinder.queryNominatim(place.getText());
  • trunk/src/org/openstreetmap/josm/data/gpx/GpxImageEntry.java

    r19427 r19629  
    1010import java.nio.file.Files;
    1111import java.time.Instant;
    12 import java.util.Date;
    1312import java.util.List;
    1413import java.util.Objects;
    … …  
    350349            return getExifInstant();
    351350        return null;
    352     }
    353 
    354     private static Date getDefensiveDate(Instant date) {
    355         if (date == null)
    356             return null;
    357         return Date.from(date);
    358351    }
    359352
  • trunk/src/org/openstreetmap/josm/data/projection/proj/ClassProjFactory.java

    r11374 r19629  
    2121    @Override
    2222    public Proj createInstance() {
    23         Proj proj = null;
     23        Proj proj;
    2424        try {
    2525            proj = projClass.getConstructor().newInstance();
  • trunk/src/org/openstreetmap/josm/data/sources/ISourceType.java

    r19536 r19629  
    99 * @since 16545
    1010 */
    11 @SuppressWarnings("PMD.ImplicitFunctionalInterface")
    1211public interface ISourceType<T extends Enum<T>> extends ICommonSource<T> {
    1312    /**
  • trunk/src/org/openstreetmap/josm/data/validation/routines/InetAddressValidator.java

    r18801 r19629  
    102102            }
    103103
    104             int iIpSegment = 0;
     104            int iIpSegment;
    105105
    106106            try {
    … …  
    181181                    return false;
    182182                }
    183                 int octetInt = 0;
     183                int octetInt;
    184184                try {
    185185                    octetInt = Integer.parseInt(octet, BASE_16);
  • trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java

    r18896 r19629  
    425425        }
    426426
    427         return Optional.ofNullable(authorityMatcher.group(PARSE_AUTHORITY_EXTRA)).orElse("").trim().isEmpty();
     427        return Optional.ofNullable(authorityMatcher.group(PARSE_AUTHORITY_EXTRA)).orElse("").isBlank();
    428428    }
    429429
  • trunk/src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java

    r19374 r19629  
    287287     * @since 18365 (public, primarily for ValidatorCLI)
    288288     */
     289    @SuppressWarnings("PMD.UseTryWithResources") // zip.a is closed via Utils.close(), which swallows IOException
    289290    public synchronized ParseResult addMapCSS(String url, Consumer<String> assertionConsumer) throws ParseException, IOException {
    290291        CheckParameterUtil.ensureParameterNotNull(url, "url");
  • trunk/src/org/openstreetmap/josm/data/validation/tests/PowerLines.java

    r19619 r19629  
    102102    @Override
    103103    public void visit(Node n) {
    104         if (!n.isConnectionNode() || n.referrers(Way.class).noneMatch(w -> isPowerLineOrCable(w)))
     104        if (!n.isConnectionNode() || n.referrers(Way.class).noneMatch(PowerLines::isPowerLineOrCable))
    105105            return;
    106106
  • trunk/src/org/openstreetmap/josm/data/validation/tests/TagChecker.java

    r19437 r19629  
    10241024            withErrors.put(p, "LV");
    10251025        }
    1026         if (value.trim().isEmpty() && !withErrors.contains(p, "EV")) {
     1026        if (value.isBlank() && !withErrors.contains(p, "EV")) {
    10271027            errors.add(TestError.builder(this, Severity.WARNING, EMPTY_VALUES)
    10281028                    .message(tr("Tags with empty values"), s, key)
  • trunk/src/org/openstreetmap/josm/data/vector/VectorPrimitive.java

    r19535 r19629  
    9999    }
    100100
     101    @Override
    101102    public void clearCachedStyle() {
    102103        this.mappaintStyle.clear();
  • trunk/src/org/openstreetmap/josm/gui/autofilter/AutoFilterManager.java

    r19615 r19629  
    145145            NavigableSet<Integer> values = getNumericValues();
    146146            // Make sure current auto filter buttons remain visible even if no data is found, to allow user to disable them
    147             for (var currentAutoFilter : currentAutoFilters) {
     147            for (AutoFilter currentAutoFilter : currentAutoFilters) {
    148148                if (currentAutoFilter.getFilter().value != null) {
    149149                    values.add(currentAutoFilter.getFilter().value);
    … …  
    289289        final AutoFilterButton keyButton = AutoFilterButton.forOsmKey(enabledRule.getKey());
    290290        addButton(keyButton, Integer.MIN_VALUE, i++);
    291         var valueList = new ArrayList<>(values.descendingSet());
     291        List<Integer> valueList = new ArrayList<>(values.descendingSet());
    292292        if (enabledRule.getNoValueFilter()) {
    293293            valueList.add(null);
    … …  
    331331        BBox bbox = MainApplication.getMap().mapView.getState().getViewArea().getLatLonBoundsBox().toBBox();
    332332        NavigableSet<Integer> values = new TreeSet<>();
    333         for (var primitiveList : List.of(ds.searchNodes(bbox), ds.searchWays(bbox), ds.searchRelations(bbox))) {
     333        for (List<? extends OsmPrimitive> primitiveList : List.of(ds.searchNodes(bbox), ds.searchWays(bbox), ds.searchRelations(bbox))) {
    334334            // add all values that are directly mentioned
    335335            primitiveList.forEach(o -> enabledRule.getTagValuesForPrimitive(o, true).forEach(values::add));
  • trunk/src/org/openstreetmap/josm/gui/autofilter/AutoFilterRule.java

    r19597 r19629  
    4949    private IntFunction<String> valueFormatter = Integer::toString;
    5050
    51     private boolean noValueFilter = false;
     51    private boolean noValueFilter;
    5252
    5353    /** The union of {@link #key} and the keys provided by {@link #setExtraKeys(List)}. */
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/PasteTagsConflictResolverDialog.java

    r19050 r19629  
    1818import java.util.ArrayList;
    1919import java.util.EnumMap;
    20 import java.util.HashMap;
    2120import java.util.List;
    2221import java.util.Map;
    … …  
    165164        mode = Mode.RESOLVING_ONE_TAGCOLLECTION_ONLY;
    166165        tagsForAllPrimitives = tagsForAllPrimitives == null ? new TagCollection() : tagsForAllPrimitives;
    167         sourceStatistics = sourceStatistics == null ? new HashMap<>() : sourceStatistics;
    168         targetStatistics = targetStatistics == null ? new HashMap<>() : targetStatistics;
     166        sourceStatistics = sourceStatistics == null ? new EnumMap<>(OsmPrimitiveType.class) : sourceStatistics;
     167        targetStatistics = targetStatistics == null ? new EnumMap<>(OsmPrimitiveType.class) : targetStatistics;
    169168
    170169        // init the resolver
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolver.java

    r18208 r19629  
    191191        if (!cbTagRelations.isSelected())
    192192            return null;
    193         if (tfKey.getText().trim().isEmpty())
    194             return null;
    195         if (tfValue.getText().trim().isEmpty())
     193        if (tfKey.getText().isBlank())
     194            return null;
     195        if (tfValue.getText().isBlank())
    196196            return null;
    197197        if (Utils.isEmpty(primitives))
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java

    r19050 r19629  
    2020    protected void renderUploadComment(Changeset cs) {
    2121        String comment = cs.getComment();
    22         if (comment.trim().isEmpty()) {
     22        if (comment.isBlank()) {
    2323            setText(trc("changeset.upload-comment", "empty"));
    2424            setFont(UIManager.getFont("Table.font").deriveFont(Font.ITALIC));
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/TimeValidator.java

    r16629 r19629  
    4444    @Override
    4545    public boolean isValid() {
    46         if (getComponent().getText().trim().isEmpty())
     46        if (getComponent().getText().isBlank())
    4747            return true;
    4848        return getTime() != null;
    … …  
    9292     */
    9393    public LocalTime getTime() {
    94         if (getComponent().getText().trim().isEmpty())
     94        if (getComponent().getText().isBlank())
    9595            return LocalTime.MIDNIGHT;
    9696
  • trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/query/UrlBasedQueryPanel.java

    r15736 r19629  
    204204        protected void validate() {
    205205            String value = tfUrl.getText();
    206             if (value.trim().isEmpty()) {
     206            if (value.isBlank()) {
    207207                feedbackNone();
    208208                return;
  • trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java

    r19536 r19629  
    339339     * Extracted interface of {@link EditTagDialog}.
    340340     */
    341     @SuppressWarnings("PMD.ImplicitFunctionalInterface")
    342341    protected interface IEditTagDialog extends IExtendedDialog {
    343342        /**
  • trunk/src/org/openstreetmap/josm/gui/download/PlaceSelection.java

    r19050 r19629  
    193193        public void actionPerformed(ActionEvent e) {
    194194            String searchExpression = cbSearchExpression.getText();
    195             if (!isEnabled() || searchExpression.trim().isEmpty() || serverComboBox.getSelectedItem() == null)
     195            if (!isEnabled() || searchExpression.isBlank() || serverComboBox.getSelectedItem() == null)
    196196                return;
    197197            cbSearchExpression.addCurrentItemToHistory();
    … …  
    215215        protected final void updateState() {
    216216            String searchExpression = cbSearchExpression.getText();
    217             setEnabled(!searchExpression.trim().isEmpty());
     217            setEnabled(!searchExpression.isBlank());
    218218            isSearchMore = Objects.equals(lastSearchExpression, searchExpression) && !model.getData().isEmpty();
    219219            if (isSearchMore) {
  • trunk/src/org/openstreetmap/josm/gui/io/CredentialDialog.java

    r19050 r19629  
    400400        public void keyPressed(KeyEvent e) {
    401401            if (e.getKeyChar() == KeyEvent.VK_ENTER) {
    402                 if (currentTF.getText().trim().isEmpty()) {
     402                if (currentTF.getText().isBlank()) {
    403403                    currentTF.selectAll();
    404                 } else if (nextTF.getText().trim().isEmpty()) {
     404                } else if (nextTF.getText().isBlank()) {
    405405                    nextTF.requestFocusInWindow();
    406406                    nextTF.selectAll();
  • trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java

    r19581 r19629  
    10861086            }
    10871087            if (entry.getExifGpsDatum() != null) {
    1088                 osd.append(tr("\nDatum: {0}", entry.getExifGpsDatum().toString()));
     1088                osd.append(tr("\nDatum: {0}", entry.getExifGpsDatum()));
    10891089            }
    10901090            if (entry.getExifGpsProcMethod() != null) {
    1091                 osd.append(tr("\nProc. method: {0}", entry.getExifGpsProcMethod().toString()));
     1091                osd.append(tr("\nProc. method: {0}", entry.getExifGpsProcMethod()));
    10921092            }
    10931093        }
  • trunk/src/org/openstreetmap/josm/gui/layer/imagery/TileSourceDisplaySettings.java

    r19106 r19629  
    8181     * Create a new {@link TileSourceDisplaySettings}
    8282     */
    83     @SuppressWarnings("PMD.UnnecessaryVarargsArrayCreation") // See https://github.com/pmd/pmd/issues/5069
    8483    public TileSourceDisplaySettings() {
    8584        this(new String[] {PREFERENCE_PREFIX});
  • trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java

    r19101 r19629  
    14191419
    14201420                while ((line = reader.readLine()) != null && !canceled) {
    1421                     if (line.trim().isEmpty()) {
     1421                    if (line.isBlank()) {
    14221422                        continue; // skip empty lines
    14231423                    }
  • trunk/src/org/openstreetmap/josm/gui/preferences/SubPreferenceSetting.java

    r19536 r19629  
    88 * (returned by getTabPreferenceSetting).
    99 */
    10 @SuppressWarnings("PMD.ImplicitFunctionalInterface")
    1110public interface SubPreferenceSetting extends PreferenceSetting {
    1211
  • trunk/src/org/openstreetmap/josm/gui/preferences/display/ColorPreference.java

    r19304 r19629  
    112112        public String getDisplay() {
    113113            if (info.getSource() != null) {
    114                 if (info.getCategory() == NamedColorProperty.COLOR_CATEGORY_MAPPAINT)
     114                if (NamedColorProperty.COLOR_CATEGORY_MAPPAINT.equals(info.getCategory()))
    115115                    return tr("Paint style {0}: {1}", tr(I18n.escape(info.getSource())), tr(info.getName()));
    116116                else
  • trunk/src/org/openstreetmap/josm/gui/preferences/plugin/PluginUpdatePolicyPanel.java

    r18801 r19629  
    203203        // remember update interval
    204204        //
    205         int days = 0;
     205        int days;
    206206        try {
    207207            days = Integer.parseInt(tfUpdateInterval.getText().trim());
  • trunk/src/org/openstreetmap/josm/gui/preferences/server/OsmApiUrlInputPanel.java

    r19050 r19629  
    233233        @Override
    234234        public boolean isValid() {
    235             if (getComponent().getText().trim().isEmpty())
     235            if (getComponent().getText().isBlank())
    236236                return false;
    237237            return Utils.isValidUrl(getComponent().getText().trim());
    … …  
    240240        @Override
    241241        public void validate() {
    242             if (getComponent().getText().trim().isEmpty()) {
     242            if (getComponent().getText().isBlank()) {
    243243                feedbackInvalid(tr("OSM API URL must not be empty. Please enter the OSM API URL."));
    244244                return;
  • trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetReader.java

    r19535 r19629  
    371371     * @throws IOException if any I/O error occurs
    372372     */
     373    @SuppressWarnings("PMD.UseTryWithResources") // zip.a/zip.b are closed via Utils.close(), which swallows IOException
    373374    static Collection<TaggingPreset> readAll(String source, boolean validate, HashSetWithLast<TaggingPreset> all)
    374375            throws SAXException, IOException {
  • trunk/src/org/openstreetmap/josm/gui/widgets/BoundingBoxSelectionPanel.java

    r13050 r19629  
    146146        @Override
    147147        public void validate() {
    148             double value = 0;
     148            double value;
    149149            try {
    150150                value = JosmDecimalFormatSymbolsProvider.parseDouble(getComponent().getText());
    … …  
    184184        @Override
    185185        public void validate() {
    186             double value = 0;
     186            double value;
    187187            try {
    188188                value = JosmDecimalFormatSymbolsProvider.parseDouble(getComponent().getText());
  • trunk/src/org/openstreetmap/josm/gui/widgets/DefaultTextComponentValidator.java

    r18061 r19629  
    2727    @Override
    2828    public boolean isValid() {
    29         return !getComponent().getText().trim().isEmpty();
     29        return !getComponent().getText().isBlank();
    3030    }
    3131
  • trunk/src/org/openstreetmap/josm/io/BoundingBoxDownloader.java

    r19406 r19629  
    1717import org.openstreetmap.josm.data.notes.Note;
    1818import org.openstreetmap.josm.data.osm.DataSet;
     19import org.openstreetmap.josm.data.osm.RelationMember;
    1920import org.openstreetmap.josm.gui.progress.ProgressMonitor;
    2021import org.openstreetmap.josm.spi.preferences.Config;
    … …  
    234235                        .forEach(i -> i.setReferrersDownloaded(true));
    235236                ds.getWays().forEach(i -> i.setReferrersDownloaded(true));
    236                 ds.getRelations().stream().filter(r -> r.getMembers().stream().noneMatch(rm -> rm.isRelation()))
     237                ds.getRelations().stream().filter(r -> r.getMembers().stream().noneMatch(RelationMember::isRelation))
    237238                        .forEach(i -> i.setReferrersDownloaded(true));
    238239            }
  • trunk/src/org/openstreetmap/josm/io/DefaultProxySelector.java

    r19307 r19629  
    112112    protected int parseProxyPortValue(String property, String value) {
    113113        if (value == null) return 0;
    114         int port = 0;
     114        int port;
    115115        try {
    116116            port = Integer.parseInt(value);
  • trunk/src/org/openstreetmap/josm/io/OsmApi.java

    r19575 r19629  
    959959        StringBuilder urlBuilder = noteStringBuilder(note)
    960960            .append("/close");
    961         if (!encodedMessage.trim().isEmpty()) {
     961        if (!encodedMessage.isBlank()) {
    962962            urlBuilder.append("?text=")
    963963                    .append(encodedMessage);
    … …  
    980980        StringBuilder urlBuilder = noteStringBuilder(note)
    981981            .append("/reopen");
    982         if (!encodedMessage.trim().isEmpty()) {
     982        if (!encodedMessage.isBlank()) {
    983983            urlBuilder.append("?text=")
    984984                    .append(encodedMessage);
  • trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java

    r19539 r19629  
    337337                handler.handle();
    338338                sendHeader(out, "200 OK", handler.getContentType(), false);
    339                 out.write("Content-length: " + handler.getContent().getBytes().length
     339                out.write("Content-length: " + handler.getContent().getBytes(RESPONSE_CHARSET).length
    340340                        + "\r\n");
    341341                out.write("\r\n");
  • trunk/src/org/openstreetmap/josm/io/session/GeoImageSessionExporter.java

    r19387 r19629  
    123123            }
    124124            if (entry.getExifGpsDatum() != null) {
    125                 addAttr("exif-gps-datum", entry.getExifGpsDatum().toString(), imgElem, support);
     125                addAttr("exif-gps-datum", entry.getExifGpsDatum(), imgElem, support);
    126126            }
    127127            if (entry.getExifGpsProcMethod() != null) {
    128                 addAttr("exif-gps-procmethod", entry.getExifGpsProcMethod().toString(), imgElem, support);
     128                addAttr("exif-gps-procmethod", entry.getExifGpsProcMethod(), imgElem, support);
    129129            }
    130130            if (entry.hasNewGpsData()) {
  • trunk/src/org/openstreetmap/josm/tools/TextAnalyzer.java

    r18801 r19629  
    7979                esc = true;
    8080            } else if (c == '\"' && !quotesStarted) { // opening "
    81                 if (!s.toString().trim().isEmpty()) { // we had   ||some text"||
     81                if (!s.toString().isBlank()) { // we had   ||some text"||
    8282                    s.append(c); // just add ", not open
    8383                } else {
  • trunk/src/org/openstreetmap/josm/tools/TextTagParser.java

    r19572 r19629  
    5959        String v;
    6060        for (String line: lines) {
    61             if (line.trim().isEmpty()) continue; // skip empty lines
     61            if (line.isBlank()) continue; // skip empty lines
    6262            Matcher m = p.matcher(line);
    6363            if (m.matches()) {
  • trunk/src/org/openstreetmap/josm/tools/template_engine/TemplateParser.java

    r18801 r19629  
    8181    private void skipWhitespace() throws ParseError {
    8282        Token token = tokenizer.lookAhead();
    83         if (token.getType() == TokenType.TEXT && token.getText().trim().isEmpty()) {
     83        if (token.getType() == TokenType.TEXT && token.getText().isBlank()) {
    8484            tokenizer.nextToken();
    8585        }
  • trunk/test/unit/org/openstreetmap/josm/data/projection/ProjectionRefTest.java

    r18870 r19629  
    123123            RefEntry curEntry = null;
    124124            while ((line = in.readLine()) != null) {
    125                 if (line.startsWith("#") || line.trim().isEmpty()) {
     125                if (line.startsWith("#") || line.isBlank()) {
    126126                    continue;
    127127                }
  • trunk/test/unit/org/openstreetmap/josm/gui/help/HelpContentReaderTest.java

    r18870 r19629  
    2828    void testFetchHelpTopicContentNominal() throws HelpContentReaderException {
    2929        String res = new HelpContentReader(HelpUtil.getWikiBaseUrl()).fetchHelpTopicContent(HelpBrowserTest.URL_1, false);
    30         assertFalse(res.trim().isEmpty());
     30        assertFalse(res.isBlank());
    3131    }
    3232}
Note: See TracChangeset for help on using the changeset viewer.