Skip to content

Commit d8504aa

Browse files
committed
Lint: Fix some PMD issues
Signed-off-by: Taylor Smock <[email protected]>
1 parent 01bf156 commit d8504aa

22 files changed

+89
-146
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
## What's Changed
2+
### [Unreleased](https://github.com/JOSM/Mapillary/compare/v2.0.0-beta.2...master)
3+
* Lint fixes (PMD)
4+
25
### [v2.0.0-beta.2](https://github.com/JOSM/Mapillary/compare/v2.0.0-beta.1...v2.0.0-beta.2)
36
* JOSM [#20274](https://josm.openstreetmap.de/ticket/20274): Cannot zoom in to detail.
47
* Mapillary has added an API field for thumb_original_url, which has the original (processed) image.

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ val versions = mapOf(
6161
"jdatepicker" to "1.3.4",
6262
"jmockit" to "1.49",
6363
"junit" to "5.8.2",
64-
"pmd" to "6.41.0",
64+
"pmd" to "6.42.0",
6565
"spotbugs" to "4.5.3",
6666
"wiremock" to "2.32.0"
6767
)

config/pmd/ruleset.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@
6060
<rule ref="category/java/codestyle.xml/UnnecessaryLocalBeforeReturn" />
6161
<rule ref="category/java/codestyle.xml/UnnecessaryModifier" />
6262
<rule ref="category/java/codestyle.xml/UnnecessaryReturn" />
63-
<rule ref="category/java/codestyle.xml/UselessParentheses" />
63+
<!-- As of PMD 6.41.0, UselessParentheses conflicts with ErrorProne 2.11.0 OperatorPrecedence. -->
64+
<!--<rule ref="category/java/codestyle.xml/UselessParentheses" />-->
6465
<rule ref="category/java/codestyle.xml/UselessQualifiedThis" />
6566

6667
<rule ref="category/java/design.xml/AbstractClassWithoutAnyMethod" />

src/main/java/org/openstreetmap/josm/plugins/mapillary/MapillaryKeyListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.openstreetmap.josm.tools.ImageProvider;
4040
import org.openstreetmap.josm.tools.JosmRuntimeException;
4141
import org.openstreetmap.josm.tools.Logging;
42+
import org.openstreetmap.josm.tools.Utils;
4243

4344
/**
4445
* Listen for Mapillary keys
@@ -80,7 +81,7 @@ public void popupMenuCanceled(PopupMenuEvent e) {
8081
}
8182

8283
private void addAction(JPopupMenu popup, String key, String value) {
83-
if (value == null || value.trim().isEmpty() || !MapillaryLayer.hasInstance()) {
84+
if (Utils.isBlank(value) || !MapillaryLayer.hasInstance()) {
8485
return;
8586
}
8687
String lowerKey = key.toLowerCase(Locale.ENGLISH);

src/main/java/org/openstreetmap/josm/plugins/mapillary/MapillaryLayerListener.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public void layerAdded(LayerManager.LayerAddEvent e) {
3535
if (e.getAddedLayer() instanceof MapillaryLayer) {
3636
VectorDataSet dataSet = ((MapillaryLayer) e.getAddedLayer()).getData();
3737
dataSet.addSelectionListener((VectorDataSelectionListener) ImageInfoPanel.getInstance());
38-
dataSet.addSelectionListener(ImageDialogListener.instance);
38+
dataSet.addSelectionListener(ImageDialogListener.INSTANCE);
3939
Stream.of(MapillaryPlugin.getMapillaryDataListeners()).forEach(dataSet::addSelectionListener);
4040
}
4141
}
@@ -45,7 +45,7 @@ public void layerRemoving(LayerManager.LayerRemoveEvent e) {
4545
if (e.getRemovedLayer() instanceof MapillaryLayer) {
4646
VectorDataSet dataSet = ((MapillaryLayer) e.getRemovedLayer()).getData();
4747
dataSet.removeSelectionListener((VectorDataSelectionListener) ImageInfoPanel.getInstance());
48-
dataSet.removeSelectionListener(ImageDialogListener.instance);
48+
dataSet.removeSelectionListener(ImageDialogListener.INSTANCE);
4949
Stream.of(MapillaryPlugin.getMapillaryDataListeners()).forEach(dataSet::removeSelectionListener);
5050
}
5151
}
@@ -64,7 +64,7 @@ public void destroy() {
6464
* A class that listens for dataset updates and updates the image viewer
6565
*/
6666
private static class ImageDialogListener implements VectorDataSelectionListener {
67-
private static final ImageDialogListener instance = new ImageDialogListener();
67+
private static final ImageDialogListener INSTANCE = new ImageDialogListener();
6868

6969
@Override
7070
public void selectionChanged(

src/main/java/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryDownloadAction.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.awt.event.ActionEvent;
77
import java.awt.event.KeyEvent;
88
import java.util.List;
9+
import java.util.Objects;
910

1011
import org.openstreetmap.josm.actions.JosmAction;
1112
import org.openstreetmap.josm.gui.MainApplication;
@@ -52,7 +53,7 @@ public void actionPerformed(ActionEvent ae) {
5253
// layer
5354
final OsmDataLayer editLayer = MainApplication.getLayerManager().getEditLayer();
5455
final Layer mapillaryLayer = MapillaryLayer.getInstance();
55-
if (MainApplication.getLayerManager().getActiveLayer() != mapillaryLayer) {
56+
if (Objects.equals(MainApplication.getLayerManager().getActiveLayer(), mapillaryLayer)) {
5657
MainApplication.getLayerManager().setActiveLayer(mapillaryLayer);
5758
} else if (editLayer != null) {
5859
MainApplication.getLayerManager().setActiveLayer(editLayer);

src/main/java/org/openstreetmap/josm/plugins/mapillary/actions/SmartEditAddAction.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void actionPerformed(ActionEvent e) {
6262
}
6363

6464
@Override
65-
public void updateEnabledState() {
65+
public final void updateEnabledState() {
6666
this.setEnabled(!this.detection.getTaggingPresets().isEmpty());
6767
}
6868

@@ -77,11 +77,11 @@ void addMapillaryPrimitiveToOsm(final IPrimitive mapillaryObject, final ObjectDe
7777
final Collection<TaggingPreset> presets = detection.getTaggingPresets();
7878
final DataSet dataSet = MainApplication.getLayerManager().getActiveDataSet();
7979
if (dataSet != null && !dataSet.isLocked() && presets.size() == 1) {
80-
final TaggingPreset preset = presets.iterator().next();
8180
final List<OsmPrimitive> toAdd = generateToAdd();
8281
if (toAdd.isEmpty()) {
8382
return;
8483
}
84+
final TaggingPreset preset = presets.iterator().next();
8585
final OsmPrimitive basePrimitive = toAdd.get(0);
8686
basePrimitive.removeAll();
8787
detection.getOsmKeys().forEach(basePrimitive::put);
@@ -98,7 +98,6 @@ void addMapillaryPrimitiveToOsm(final IPrimitive mapillaryObject, final ObjectDe
9898
preset.getChangedTags());
9999
});
100100
final int userSelection = tSelection[0];
101-
final Command updateTagsCommand = tCommand[0];
102101
// Closing the window returns 0. Not in the TaggingPreset public answers at this time.
103102
if ((userSelection == 0 || userSelection == TaggingPreset.DIALOG_ANSWER_CANCEL)
104103
&& UndoRedoHandler.getInstance().hasUndoCommands()) {
@@ -113,7 +112,7 @@ void addMapillaryPrimitiveToOsm(final IPrimitive mapillaryObject, final ObjectDe
113112
}
114113
addMapillaryTags(addedPrimitive);
115114

116-
generateCommands(addedPrimitive, updateTagsCommand);
115+
generateCommands(addedPrimitive, tCommand[0]);
117116
this.pointObjectLayer.getData().setSelected(this.pointObjectLayer.getData().getSelected().stream()
118117
.filter(n -> !n.equals(this.mapillaryObject)).collect(Collectors.toList()));
119118
}

src/main/java/org/openstreetmap/josm/plugins/mapillary/gui/ImageCheckBoxButton.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public class ImageCheckBoxButton extends JPanel implements Destroyable, TableMod
4444
public ImageCheckBoxButton(ImageIcon icon, String detection, ObjectDetections... detections) {
4545
super(new GridBagLayout());
4646
this.detection = detection;
47-
this.detections = detections;
47+
this.detections = detections.clone();
4848
MapillaryExpertFilterDialog.getInstance().getFilterModel().addTableModelListener(this);
4949
splitName = detection.split("--", -1);
5050
image = new JButton();

src/main/java/org/openstreetmap/josm/plugins/mapillary/gui/dialog/MapillaryExpertFilterDialog.java

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// License: GPL. For details, see LICENSE file.
22
package org.openstreetmap.josm.plugins.mapillary.gui.dialog;
33

4+
import static org.openstreetmap.josm.tools.I18n.marktr;
45
import static org.openstreetmap.josm.tools.I18n.tr;
56

67
import java.awt.Component;
@@ -60,6 +61,18 @@
6061
*/
6162
public class MapillaryExpertFilterDialog extends ToggleDialog implements DataSetListener, MapModeChangeListener {
6263
private static final long serialVersionUID = -3067786777238478114L;
64+
private static final String ENABLE_FILTER_STRING = marktr("Enable filter");
65+
private static final Shortcut ENABLE_FILTER_SHORTCUT = Shortcut.registerShortcut("mapillary_multikey:enableFilter",
66+
tr("Multikey: {0}", tr(ENABLE_FILTER_STRING)), KeyEvent.CHAR_UNDEFINED, Shortcut.NONE);
67+
68+
private static final Shortcut HIDING_FILTER_SHORTCUT = Shortcut.registerShortcut("mapillary_multikey:hidingFilter",
69+
tr("Multikey: {0}", tr("Hide filter")), KeyEvent.CHAR_UNDEFINED, Shortcut.NONE);
70+
71+
private static final String[] COLUMN_TOOLTIPS = {
72+
Shortcut.makeTooltip(tr(ENABLE_FILTER_STRING), ENABLE_FILTER_SHORTCUT.getKeyStroke()),
73+
Shortcut.makeTooltip(tr("Hiding filter"), HIDING_FILTER_SHORTCUT.getKeyStroke()), null, tr("Inverse filter"),
74+
tr("Filter mode") };
75+
6376
private JTable userTable;
6477
private final MapillaryFilterTableModel filterModel = new MapillaryFilterTableModel(
6578
new DefaultListSelectionModel());
@@ -96,23 +109,17 @@ public MapillaryExpertFilterDialog() {
96109
* @return The instance for the toggle dialog
97110
*/
98111
public static MapillaryExpertFilterDialog getInstance() {
99-
if (instance == null) {
100-
instance = new MapillaryExpertFilterDialog();
112+
if (instance != null) {
113+
return instance;
114+
}
115+
synchronized (MapillaryExpertFilterDialog.class) {
116+
if (instance == null) {
117+
instance = new MapillaryExpertFilterDialog();
118+
}
101119
}
102120
return instance;
103121
}
104122

105-
private static final Shortcut ENABLE_FILTER_SHORTCUT = Shortcut.registerShortcut("mapillary_multikey:enableFilter",
106-
tr("Multikey: {0}", tr("Enable filter")), KeyEvent.CHAR_UNDEFINED, Shortcut.NONE);
107-
108-
private static final Shortcut HIDING_FILTER_SHORTCUT = Shortcut.registerShortcut("mapillary_multikey:hidingFilter",
109-
tr("Multikey: {0}", tr("Hide filter")), KeyEvent.CHAR_UNDEFINED, Shortcut.NONE);
110-
111-
private static final String[] COLUMN_TOOLTIPS = {
112-
Shortcut.makeTooltip(tr("Enable filter"), ENABLE_FILTER_SHORTCUT.getKeyStroke()),
113-
Shortcut.makeTooltip(tr("Hiding filter"), HIDING_FILTER_SHORTCUT.getKeyStroke()), null, tr("Inverse filter"),
114-
tr("Filter mode") };
115-
116123
private abstract class FilterAction extends AbstractAction implements IEnabledStateUpdating {
117124

118125
FilterAction(String name, String description, String icon) {
@@ -253,7 +260,7 @@ public void updateEnabledState() {
253260
/**
254261
* Builds the GUI.
255262
*/
256-
protected void build() {
263+
private void build() {
257264
userTable = new UserTable(filterModel);
258265

259266
userTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
@@ -306,11 +313,11 @@ public void actionPerformed(ActionEvent e) {
306313
@Override
307314
public void destroy() {
308315
if (!destroyed) {
316+
destroyed = true;
309317
MultikeyActionsHandler.getInstance().removeAction(enableFilterAction);
310318
MultikeyActionsHandler.getInstance().removeAction(hidingFilterAction);
311319
instance = null;
312320
super.destroy();
313-
destroyed = true;
314321
}
315322
}
316323

@@ -464,7 +471,7 @@ public MultikeyInfo getLastMultikeyAction() {
464471
private class EnableFilterAction extends AbstractFilterAction {
465472

466473
EnableFilterAction() {
467-
putValue(SHORT_DESCRIPTION, tr("Enable filter"));
474+
putValue(SHORT_DESCRIPTION, tr(ENABLE_FILTER_STRING));
468475
ENABLE_FILTER_SHORTCUT.setAccelerator(this);
469476
}
470477

src/main/java/org/openstreetmap/josm/plugins/mapillary/gui/dialog/MapillaryFilterDialog.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ public boolean test(INode img) {
519519
/**
520520
* Update the layer visibility
521521
*/
522-
void updateLayerVisible() {
522+
final void updateLayerVisible() {
523523
this.layerVisible = MapillaryLayer.hasInstance() && MapillaryLayer.getInstance().isVisible();
524524
}
525525

@@ -687,7 +687,7 @@ public void organizationAdded(OrganizationRecord organization) {
687687
}
688688
for (Component comp : Arrays.asList(organizationLabel, organizations)) {
689689
GuiHelper.runInEDT(() -> comp
690-
.setEnabled(organizations.getItemCount() > 1 || organization != OrganizationRecord.NULL_RECORD));
690+
.setEnabled(organizations.getItemCount() > 1 || !OrganizationRecord.NULL_RECORD.equals(organization)));
691691
}
692692
}
693693

0 commit comments

Comments
 (0)