Project Information
Project:
MicrosoftStreetside (spotbugsMain)
SpotBugs version: 4.0.3
Code analyzed:
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideImage.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/oauth/StreetsideLoginListener.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/oauth/OAuthPortListener.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/oauth/OAuthUtils.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/oauth/StreetsideUser.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$CacheProxy.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$UserProfileCache.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/StreetsideCache$Type.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils$IgnoreDownload.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$CubemapCache.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$MapObjectIconCache.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils$PICTURE.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/StreetsideCache.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$ImageCache.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/mode/SelectMode.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/mode/AbstractMode$SemiautomaticThread.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/mode/AbstractMode.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/mode/AbstractMode$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapUtils.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBox$CubemapBoxImageType.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CameraTransformer.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CameraTransformer$RotateOrder.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapUtils$CubefaceType.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBuilder.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapUtils$CubemapFaces.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/ITileDownloadingTaskListener.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CameraTransformer$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/TileDownloadingTask.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBox$3.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBox$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBox.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBox$2.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/StreetsideSquareDownloadRunnable.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/StreetsideDownloader.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/StreetsideDownloader$DOWNLOAD_MODE.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/SequenceDownloadRunnable.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/BoundsDownloadRunnable.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/export/StreetsideExportWriterThread.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/export/StreetsideExportDownloadThread.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/export/StreetsideExportManager.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideSequence.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideImage$Rn.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideProperties.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideSequenceIdGenerator.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideColorScheme.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURL.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideChangesetListener.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/ImageUtil.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/PluginState.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURL$APIv3.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURL$VirtualEarth.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/MapViewGeometryUtil.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/GraphicsUtils$PlatformHelper.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideUtils.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonSequencesDecoder.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonImageDetectionDecoder.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonStreetsideDecoder.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonDecoder.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonStreetsideSequencesDecoder.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/GraphicsUtils.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURL$MainWebsite.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideLayer$NearestImgToTargetComparator.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideAbstractImage.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideLayer.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$StopAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$MODE.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$NextPictureAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ImageInfoPanel.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ImageInfoHelpPopup$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/AddTagToPrimitiveAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerPanel.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/WebLinkAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerHelpPopup.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ThreeSixtyDegreeViewerPanel$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerHelpPopup$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ImageInfoHelpPopup.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ClipboardAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ThreeSixtyDegreeViewerPanel.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageDisplay$ImgDisplayMouseListener.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$PauseAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$PreviousPictureAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$BlueAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting$LoginAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$RedAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/dialog/ChooseGeoImageLayersDialog.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/dialog/ChooseGeoImageLayersDialog$BasicListModel.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/dialog/ChooseGeoImageLayersDialog$GeoImageLayerListCellRenderer.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideExportDialog$RewriteButtonAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideExportDialog.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageDisplay.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/boilerplate/SelectableLabel.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/boilerplate/StreetsideButton.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$PlayAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageDisplay$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting$1.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideViewerDialog.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideWalkDialog.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting$LogoutAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageTreeCellRenderer.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/ImageDetection.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/MapObject.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/KeyIndexedObject.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/UserProfile.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/SpecialImageArea.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/StreetsideRecordListener.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/StreetsideExecutableCommand.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/CommandMove.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/CommandTurn.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/CommandJoin.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/StreetsideCommand.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/CommandUnjoin.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/StreetsideRecord.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideDownloadAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/WalkThread.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideZoomAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/ImageReloadAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideExportAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/WalkListener.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideDownloadViewAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideWalkAction.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideData.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideDataListener.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideCubemap.class
- /Users/tsmock/workspace/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsidePlugin.class
Metrics
5424 lines of code analyzed,
in 130 classes,
in 17 packages.
| High Priority Warnings |
8 |
1.47 |
| Medium Priority Warnings |
20 |
3.69 |
| Low Priority Warnings |
28 |
5.16 |
|
Total Warnings
|
56
|
10.32
|
(* Defects per Thousand lines of non-commenting source statements)
Contents
Summary
Warnings
Click on a warning row to see full context information.
|
Eq
|
org.openstreetmap.josm.plugins.streetside.StreetsideCubemap defines compareTo(Object) and uses Object.equals() |
|
Bug type EQ_COMPARETO_USE_OBJECT_EQUALS (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideCubemap In method org.openstreetmap.josm.plugins.streetside.StreetsideCubemap.compareTo(Object) At StreetsideCubemap.java:[line 12]
|
|
HE
|
org.openstreetmap.josm.plugins.streetside.StreetsideCubemap defines hashCode and uses Object.equals() |
|
Bug type HE_HASHCODE_USE_OBJECT_EQUALS (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideCubemap In method org.openstreetmap.josm.plugins.streetside.StreetsideCubemap.hashCode() At StreetsideCubemap.java:[line 65]
|
|
RV
|
Exceptional return value of java.io.File.mkdirs() ignored in org.openstreetmap.josm.plugins.streetside.cache.Caches.getCacheDirectory() |
|
Bug type RV_RETURN_VALUE_IGNORED_BAD_PRACTICE (click for details)
In class org.openstreetmap.josm.plugins.streetside.cache.Caches In method org.openstreetmap.josm.plugins.streetside.cache.Caches.getCacheDirectory() Called method java.io.File.mkdirs() At Caches.java:[line 30]
|
|
RV
|
Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.downloadCubemapImages(String) |
|
Bug type RV_RETURN_VALUE_IGNORED_BAD_PRACTICE (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.downloadCubemapImages(String) Called method java.util.concurrent.ExecutorService.submit(Runnable) At CubemapBuilder.java:[line 183]
|
|
Se
|
org.openstreetmap.josm.plugins.streetside.StreetsideLayer$NearestImgToTargetComparator implements Comparator but not Serializable |
|
Bug type SE_COMPARATOR_SHOULD_BE_SERIALIZABLE (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideLayer$NearestImgToTargetComparator At StreetsideLayer.java:[lines 491-504]
|
|
Se
|
Class org.openstreetmap.josm.plugins.streetside.actions.StreetsideWalkAction defines non-transient non-serializable instance field thread |
|
Bug type SE_BAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.actions.StreetsideWalkAction Field org.openstreetmap.josm.plugins.streetside.actions.StreetsideWalkAction.thread Actual type org.openstreetmap.josm.plugins.streetside.actions.WalkThread In StreetsideWalkAction.java
|
|
Se
|
Class org.openstreetmap.josm.plugins.streetside.gui.StreetsideImageDisplay defines non-transient non-serializable instance field detections |
|
Bug type SE_BAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideImageDisplay Field org.openstreetmap.josm.plugins.streetside.gui.StreetsideImageDisplay.detections Actual type org.openstreetmap.josm.plugins.streetside.model.ImageDetection In StreetsideImageDisplay.java
|
|
Se
|
Class org.openstreetmap.josm.plugins.streetside.gui.StreetsideImageDisplay defines non-transient non-serializable instance field image |
|
Bug type SE_BAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideImageDisplay Field org.openstreetmap.josm.plugins.streetside.gui.StreetsideImageDisplay.image Actual type java.awt.image.BufferedImage In StreetsideImageDisplay.java
|
|
Se
|
Class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog defines non-transient non-serializable instance field image |
|
Bug type SE_BAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog Field org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.image Actual type org.openstreetmap.josm.plugins.streetside.StreetsideAbstractImage In StreetsideMainDialog.java
|
|
Se
|
Class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog defines non-transient non-serializable instance field imageCache |
|
Bug type SE_BAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog Field org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.imageCache Actual type org.openstreetmap.josm.plugins.streetside.cache.StreetsideCache In StreetsideMainDialog.java
|
|
Se
|
Class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog defines non-transient non-serializable instance field thumbnailCache |
|
Bug type SE_BAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog Field org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.thumbnailCache Actual type org.openstreetmap.josm.plugins.streetside.cache.StreetsideCache In StreetsideMainDialog.java
|
|
Se
|
Class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog$PauseAction defines non-transient non-serializable instance field thread |
|
Bug type SE_BAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog$PauseAction Field org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog$PauseAction.thread Actual type org.openstreetmap.josm.plugins.streetside.actions.WalkThread In StreetsideMainDialog.java
|
|
Se
|
Class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog$StopAction defines non-transient non-serializable instance field thread |
|
Bug type SE_BAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog$StopAction Field org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog$StopAction.thread Actual type org.openstreetmap.josm.plugins.streetside.actions.WalkThread In StreetsideMainDialog.java
|
|
Se
|
Class org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ClipboardAction defines non-transient non-serializable instance field contents |
|
Bug type SE_BAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ClipboardAction Field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ClipboardAction.contents Actual type java.awt.datatransfer.Transferable In ClipboardAction.java
|
|
Se
|
org.openstreetmap.josm.plugins.streetside.model.UserProfile is Serializable but its superclass doesn't define an accessible void constructor |
|
Bug type SE_NO_SUITABLE_CONSTRUCTOR (click for details)
In class org.openstreetmap.josm.plugins.streetside.model.UserProfile At UserProfile.java:[lines 17-27]
|
|
NP
|
Read of unwritten field singleImg in org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox.loadSingleImageViewports() |
|
Bug type NP_UNWRITTEN_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox.loadSingleImageViewports() Field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox.singleImg At CubemapBox.java:[line 150]
|
|
RCN
|
Nullcheck of reader at line 47 of value previously dereferenced in org.openstreetmap.josm.plugins.streetside.oauth.OAuthUtils.getWithHeader(URL) |
|
Bug type RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE (click for details)
In class org.openstreetmap.josm.plugins.streetside.oauth.OAuthUtils In method org.openstreetmap.josm.plugins.streetside.oauth.OAuthUtils.getWithHeader(URL) Value loaded from reader Return value of javax.json.Json.createReader(Reader) of type javax.json.JsonReader At OAuthUtils.java:[line 47] Redundant null check at OAuthUtils.java:[line 48]
|
|
UwF
|
Unwritten field: org.openstreetmap.josm.plugins.streetside.StreetsideSequence.user |
|
Bug type UWF_UNWRITTEN_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideSequence Field org.openstreetmap.josm.plugins.streetside.StreetsideSequence.user At StreetsideSequence.java:[line 217]
|
|
UwF
|
Unwritten field: org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox.singleImg |
|
Bug type UWF_UNWRITTEN_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox Field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox.singleImg At CubemapBox.java:[line 150]
|
|
UwF
|
Unwritten field: org.openstreetmap.josm.plugins.streetside.gui.StreetsideExportDialog$RewriteButtonAction.lastPath |
|
Bug type UWF_UNWRITTEN_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideExportDialog$RewriteButtonAction Field org.openstreetmap.josm.plugins.streetside.gui.StreetsideExportDialog$RewriteButtonAction.lastPath At StreetsideExportDialog.java:[line 147]
|
|
EI
|
org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox.getViews() may expose internal representation by returning CubemapBox.views |
|
Bug type EI_EXPOSE_REP (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox.getViews() Field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBox.views At CubemapBox.java:[line 263]
|
|
MS
|
org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils.directionConversion isn't final but should be |
|
Bug type MS_SHOULD_BE_FINAL (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils Field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils.directionConversion At CubemapUtils.java:[line 70]
|
|
MS
|
org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils.rowCol2StreetsideCellAddressMap isn't final but should be refactored to be so |
|
Bug type MS_SHOULD_BE_REFACTORED_TO_BE_FINAL (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils Field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils.rowCol2StreetsideCellAddressMap At CubemapUtils.java:[line 76]
|
|
LI
|
Incorrect lazy initialization of static field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.instance in org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.getInstance() |
|
Bug type LI_LAZY_INIT_STATIC (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.getInstance() On field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.instance At CubemapBuilder.java:[lines 366-367]
|
|
Bx
|
Primitive boxed just to call toString in org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.buildCubemapFaces() |
|
Bug type DM_BOXED_PRIMITIVE_TOSTRING (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.buildCubemapFaces() Called method Integer.toString() Should call Integer.toString(int) instead At CubemapBuilder.java:[line 276] Another occurrence at CubemapBuilder.java:[line 303]
|
|
Bx
|
Primitive boxed just to call toString in org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.downloadCubemapImages(String) |
|
Bug type DM_BOXED_PRIMITIVE_TOSTRING (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.downloadCubemapImages(String) Called method Integer.toString() Should call Integer.toString(int) instead At CubemapBuilder.java:[line 161] Another occurrence at CubemapBuilder.java:[line 174]
|
|
Bx
|
Primitive boxed just to call toString in org.openstreetmap.josm.plugins.streetside.cubemap.TileDownloadingTask.call() |
|
Bug type DM_BOXED_PRIMITIVE_TOSTRING (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.TileDownloadingTask In method org.openstreetmap.josm.plugins.streetside.cubemap.TileDownloadingTask.call() Called method Integer.toString() Should call Integer.toString(int) instead At TileDownloadingTask.java:[line 113] Another occurrence at TileDownloadingTask.java:[line 122]
|
|
Bx
|
Primitive boxed just to call toString in org.openstreetmap.josm.plugins.streetside.io.download.SequenceDownloadRunnable.lambda$run$0(StreetsideImage, List, CubemapUtils$CubemapFaces) |
|
Bug type DM_BOXED_PRIMITIVE_TOSTRING (click for details)
In class org.openstreetmap.josm.plugins.streetside.io.download.SequenceDownloadRunnable In method org.openstreetmap.josm.plugins.streetside.io.download.SequenceDownloadRunnable.lambda$run$0(StreetsideImage, List, CubemapUtils$CubemapFaces) Called method Integer.toString() Should call Integer.toString(int) instead At SequenceDownloadRunnable.java:[line 116]
|
|
UrF
|
Unread field: org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser.imagesHash |
|
Bug type URF_UNREAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser Field org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser.imagesHash At StreetsideUser.java:[line 50]
|
|
UrF
|
Unread field: org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser.imagesPolicy |
|
Bug type URF_UNREAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser Field org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser.imagesPolicy At StreetsideUser.java:[line 49]
|
|
UrF
|
Unread field: org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser.isTokenValid |
|
Bug type URF_UNREAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser Field org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser.isTokenValid At StreetsideUser.java:[line 51]
|
|
UrF
|
Unread field: org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser.username |
|
Bug type URF_UNREAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser Field org.openstreetmap.josm.plugins.streetside.oauth.StreetsideUser.username At StreetsideUser.java:[line 48]
|
|
BC
|
Unchecked/unconfirmed cast from org.openstreetmap.josm.data.cache.CacheEntry to org.openstreetmap.josm.data.cache.BufferedImageCacheEntry in org.openstreetmap.josm.plugins.streetside.cache.StreetsideCache.isObjectLoadable() |
|
Bug type BC_UNCONFIRMED_CAST (click for details)
In class org.openstreetmap.josm.plugins.streetside.cache.StreetsideCache In method org.openstreetmap.josm.plugins.streetside.cache.StreetsideCache.isObjectLoadable() Actual type org.openstreetmap.josm.data.cache.CacheEntry Expected org.openstreetmap.josm.data.cache.BufferedImageCacheEntry Value loaded from field org.openstreetmap.josm.data.cache.JCSCachedTileLoaderJob.cacheData At StreetsideCache.java:[line 76]
|
|
BC
|
Unchecked/unconfirmed cast from java.awt.Graphics to java.awt.Graphics2D in org.openstreetmap.josm.plugins.streetside.gui.StreetsideImageDisplay.paintComponent(Graphics) |
|
Bug type BC_UNCONFIRMED_CAST (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideImageDisplay In method org.openstreetmap.josm.plugins.streetside.gui.StreetsideImageDisplay.paintComponent(Graphics) Actual type java.awt.Graphics Expected java.awt.Graphics2D Value loaded from g At StreetsideImageDisplay.java:[line 429]
|
|
DB
|
org.openstreetmap.josm.plugins.streetside.utils.GraphicsUtils.cropMultiTiledImages(BufferedImage[], int) uses the same code for two branches |
|
Bug type DB_DUPLICATE_BRANCHES (click for details)
In class org.openstreetmap.josm.plugins.streetside.utils.GraphicsUtils In method org.openstreetmap.josm.plugins.streetside.utils.GraphicsUtils.cropMultiTiledImages(BufferedImage[], int) At GraphicsUtils.java:[line 132] At GraphicsUtils.java:[line 134]
|
|
Eq
|
org.openstreetmap.josm.plugins.streetside.model.ImageDetection doesn't override KeyIndexedObject.equals(Object) |
|
Bug type EQ_DOESNT_OVERRIDE_EQUALS (click for details)
In class org.openstreetmap.josm.plugins.streetside.model.ImageDetection At ImageDetection.java:[line 1] Did you intend to override org.openstreetmap.josm.plugins.streetside.model.KeyIndexedObject.equals(Object)
|
|
Eq
|
org.openstreetmap.josm.plugins.streetside.model.MapObject doesn't override KeyIndexedObject.equals(Object) |
|
Bug type EQ_DOESNT_OVERRIDE_EQUALS (click for details)
In class org.openstreetmap.josm.plugins.streetside.model.MapObject At MapObject.java:[line 1] Did you intend to override org.openstreetmap.josm.plugins.streetside.model.KeyIndexedObject.equals(Object)
|
|
Eq
|
org.openstreetmap.josm.plugins.streetside.model.SpecialImageArea doesn't override KeyIndexedObject.equals(Object) |
|
Bug type EQ_DOESNT_OVERRIDE_EQUALS (click for details)
In class org.openstreetmap.josm.plugins.streetside.model.SpecialImageArea At SpecialImageArea.java:[line 1] Did you intend to override org.openstreetmap.josm.plugins.streetside.model.KeyIndexedObject.equals(Object)
|
|
Eq
|
org.openstreetmap.josm.plugins.streetside.model.UserProfile doesn't override KeyIndexedObject.equals(Object) |
|
Bug type EQ_DOESNT_OVERRIDE_EQUALS (click for details)
In class org.openstreetmap.josm.plugins.streetside.model.UserProfile At UserProfile.java:[line 1] Did you intend to override org.openstreetmap.josm.plugins.streetside.model.KeyIndexedObject.equals(Object)
|
|
NP
|
Load of known null value in org.openstreetmap.josm.plugins.streetside.io.export.StreetsideExportWriterThread.run() |
|
Bug type NP_LOAD_OF_KNOWN_NULL_VALUE (click for details)
In class org.openstreetmap.josm.plugins.streetside.io.export.StreetsideExportWriterThread In method org.openstreetmap.josm.plugins.streetside.io.export.StreetsideExportWriterThread.run() Value loaded from outputSet At StreetsideExportWriterThread.java:[line 91]
|
|
PZLA
|
Should org.openstreetmap.josm.plugins.streetside.utils.api.JsonDecoder.decodeDoublePair(JsonArray) return a zero length array rather than null? |
|
Bug type PZLA_PREFER_ZERO_LENGTH_ARRAYS (click for details)
In class org.openstreetmap.josm.plugins.streetside.utils.api.JsonDecoder In method org.openstreetmap.josm.plugins.streetside.utils.api.JsonDecoder.decodeDoublePair(JsonArray) At JsonDecoder.java:[line 89]
|
|
PZLA
|
Should org.openstreetmap.josm.plugins.streetside.utils.api.JsonStreetsideDecoder.decodeDoublePair(JsonArray) return a zero length array rather than null? |
|
Bug type PZLA_PREFER_ZERO_LENGTH_ARRAYS (click for details)
In class org.openstreetmap.josm.plugins.streetside.utils.api.JsonStreetsideDecoder In method org.openstreetmap.josm.plugins.streetside.utils.api.JsonStreetsideDecoder.decodeDoublePair(JsonArray) At JsonStreetsideDecoder.java:[line 89]
|
|
RCN
|
Redundant nullcheck of org.openstreetmap.josm.plugins.streetside.StreetsideImage.getId(), which is known to be non-null in org.openstreetmap.josm.plugins.streetside.cache.CacheUtils.downloadPicture(StreetsideImage, CacheUtils$PICTURE) |
|
Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details)
In class org.openstreetmap.josm.plugins.streetside.cache.CacheUtils In method org.openstreetmap.josm.plugins.streetside.cache.CacheUtils.downloadPicture(StreetsideImage, CacheUtils$PICTURE) Return value of org.openstreetmap.josm.plugins.streetside.StreetsideImage.getId() of type String Redundant null check at CacheUtils.java:[line 89]
|
|
RCN
|
Redundant nullcheck of StringBuilder.toString(), which is known to be non-null in org.openstreetmap.josm.plugins.streetside.gui.imageinfo.WebLinkAction.actionPerformed(ActionEvent) |
|
Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.imageinfo.WebLinkAction In method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.WebLinkAction.actionPerformed(ActionEvent) Return value of StringBuilder.toString() of type String Redundant null check at WebLinkAction.java:[line 46]
|
|
RCN
|
Redundant nullcheck of outputSet which is known to be null in org.openstreetmap.josm.plugins.streetside.io.export.StreetsideExportWriterThread.run() |
|
Bug type RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE (click for details)
In class org.openstreetmap.josm.plugins.streetside.io.export.StreetsideExportWriterThread In method org.openstreetmap.josm.plugins.streetside.io.export.StreetsideExportWriterThread.run() Value loaded from outputSet Redundant null check at StreetsideExportWriterThread.java:[line 91]
|
|
RCN
|
Redundant nullcheck of clientSocket, which is known to be non-null in org.openstreetmap.josm.plugins.streetside.oauth.OAuthPortListener.run() |
|
Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details)
In class org.openstreetmap.josm.plugins.streetside.oauth.OAuthPortListener In method org.openstreetmap.josm.plugins.streetside.oauth.OAuthPortListener.run() Value loaded from clientSocket Return value of java.net.ServerSocket.accept() of type java.net.Socket Redundant null check at OAuthPortListener.java:[line 45] Another occurrence at OAuthPortListener.java:[line 78]
|
|
RCN
|
Redundant nullcheck of org.openstreetmap.josm.plugins.streetside.StreetsideImage.getId(), which is known to be non-null in org.openstreetmap.josm.plugins.streetside.utils.api.JsonStreetsideSequencesDecoder.decodeBubbleData(StreetsideImage) |
|
Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details)
In class org.openstreetmap.josm.plugins.streetside.utils.api.JsonStreetsideSequencesDecoder In method org.openstreetmap.josm.plugins.streetside.utils.api.JsonStreetsideSequencesDecoder.decodeBubbleData(StreetsideImage) Return value of org.openstreetmap.josm.plugins.streetside.StreetsideImage.getId() of type String Redundant null check at JsonStreetsideSequencesDecoder.java:[line 84]
|
|
REC
|
Exception is caught when Exception is not thrown in org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.downloadCubemapImages(String) |
|
Bug type REC_CATCH_EXCEPTION (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.downloadCubemapImages(String) At CubemapBuilder.java:[line 201]
|
|
RV
|
Return value of org.openstreetmap.josm.plugins.streetside.gui.StreetsideViewerDialog.getStreetsideViewerPanel() ignored, but method has no side effect |
|
Bug type RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.buildCubemapFaces() Called method org.openstreetmap.josm.plugins.streetside.gui.StreetsideViewerDialog.getStreetsideViewerPanel() At CubemapBuilder.java:[line 263]
|
|
ST
|
Write to static field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.StreetsideViewerPanel.threeSixtyDegreeViewerPanel from instance method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.StreetsideViewerPanel.initializeAndStartGUI() |
|
Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.imageinfo.StreetsideViewerPanel In method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.StreetsideViewerPanel.initializeAndStartGUI() Field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.StreetsideViewerPanel.threeSixtyDegreeViewerPanel At StreetsideViewerPanel.java:[line 55]
|
|
ST
|
Write to static field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.camera from instance method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.initialize() |
|
Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel In method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.initialize() Field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.camera At ThreeSixtyDegreeViewerPanel.java:[line 63]
|
|
ST
|
Write to static field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.root from instance method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.initialize() |
|
Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel In method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.initialize() Field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.root At ThreeSixtyDegreeViewerPanel.java:[line 61]
|
|
ST
|
Write to static field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.cubemapBox from instance method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.initialize() |
|
Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel In method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.initialize() Field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.cubemapBox At ThreeSixtyDegreeViewerPanel.java:[line 81]
|
|
ST
|
Write to static field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.subGroup from instance method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.initialize() |
|
Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel In method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.initialize() Field org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.subGroup At ThreeSixtyDegreeViewerPanel.java:[line 83]
|
|
UC
|
Useless object stored in variable message of method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.downloadCubemapImages(String) |
|
Bug type UC_USELESS_OBJECT (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.downloadCubemapImages(String) Value message Type String[] At CubemapBuilder.java:[line 128]
|
|
UCF
|
Useless control flow in org.openstreetmap.josm.plugins.streetside.model.MapObject.getIcon(String) |
|
Bug type UCF_USELESS_CONTROL_FLOW (click for details)
In class org.openstreetmap.josm.plugins.streetside.model.MapObject In method org.openstreetmap.josm.plugins.streetside.model.MapObject.getIcon(String) At MapObject.java:[line 49]
|
This cast is unchecked, and not all instances of the type casted from can be cast to
the type it is being cast to. Check that your program logic ensures that this
cast will not fail.
A boxed primitive is allocated just to call toString(). It is more effective to just use the static
form of toString which takes the primitive value. So,
| Replace... | With this... |
| new Integer(1).toString() | Integer.toString(1) |
| new Long(1).toString() | Long.toString(1) |
| new Float(1.0).toString() | Float.toString(1.0) |
| new Double(1.0).toString() | Double.toString(1.0) |
| new Byte(1).toString() | Byte.toString(1) |
| new Short(1).toString() | Short.toString(1) |
| new Boolean(true).toString() | Boolean.toString(true) |
This method uses the same code to implement two branches of a conditional branch.
Check to ensure that this isn't a coding mistake.
Returning a reference to a mutable object value stored in one of the object's fields
exposes the internal representation of the object.
If instances
are accessed by untrusted code, and unchecked changes to
the mutable object would compromise security or other
important properties, you will need to do something different.
Returning a new copy of the object is better approach in many situations.
This class defines a compareTo(...) method but inherits its
equals() method from java.lang.Object.
Generally, the value of compareTo should return zero if and only if
equals returns true. If this is violated, weird and unpredictable
failures will occur in classes such as PriorityQueue.
In Java 5 the PriorityQueue.remove method uses the compareTo method,
while in Java 6 it uses the equals method.
From the JavaDoc for the compareTo method in the Comparable interface:
It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)).
Generally speaking, any class that implements the Comparable interface and violates this condition
should clearly indicate this fact. The recommended language
is "Note: this class has a natural ordering that is inconsistent with equals."
This class extends a class that defines an equals method and adds fields, but doesn't
define an equals method itself. Thus, equality on instances of this class will
ignore the identity of the subclass and the added fields. Be sure this is what is intended,
and that you don't need to override the equals method. Even if you don't need to override
the equals method, consider overriding it anyway to document the fact
that the equals method for the subclass just return the result of
invoking super.equals(o).
This class defines a hashCode() method but inherits its
equals() method from java.lang.Object
(which defines equality by comparing object references). Although
this will probably satisfy the contract that equal objects must have
equal hashcodes, it is probably not what was intended by overriding
the hashCode() method. (Overriding hashCode()
implies that the object's identity is based on criteria more complicated
than simple reference equality.)
If you don't think instances of this class will ever be inserted into a HashMap/HashTable,
the recommended hashCode implementation to use is:
public int hashCode() {
assert false : "hashCode not designed";
return 42; // any arbitrary constant will do
}
This method contains an unsynchronized lazy initialization of a non-volatile static field.
Because the compiler or processor may reorder instructions,
threads are not guaranteed to see a completely initialized object,
if the method can be called by multiple threads.
You can make the field volatile to correct the problem.
For more information, see the
Java Memory Model web site.
This static field public but not final, and
could be changed by malicious code or
by accident from another package.
The field could be made final to avoid
this vulnerability.
This static field public but not final, and
could be changed by malicious code or
by accident from another package.
The field could be made final to avoid
this vulnerability. However, the static initializer contains more than one write
to the field, so doing so will require some refactoring.
The variable referenced at this point is known to be null due to an earlier
check against null. Although this is valid, it might be a mistake (perhaps you
intended to refer to a different variable, or perhaps the earlier check to see if the
variable is null should have been a check to see if it was non-null).
The program is dereferencing a field that does not seem to ever have a non-null value written to it.
Unless the field is initialized via some mechanism not seen by the analysis,
dereferencing this value will generate a null pointer exception.
It is often a better design to
return a length zero array rather than a null reference to indicate that there
are no results (i.e., an empty list of results).
This way, no explicit check for null is needed by clients of the method.
On the other hand, using null to indicate
"there is no answer to this question" is probably appropriate.
For example, File.listFiles() returns an empty list
if given a directory containing no files, and returns null if the file
is not a directory.
A value is checked here to see whether it is null, but this value can't
be null because it was previously dereferenced and if it were null a null pointer
exception would have occurred at the earlier dereference.
Essentially, this code and the previous dereference
disagree as to whether this value is allowed to be null. Either the check is redundant
or the previous dereference is erroneous.
This method contains a redundant check of a known non-null value against
the constant null.
This method contains a redundant check of a known null value against
the constant null.
This method uses a try-catch block that catches Exception objects, but Exception is not
thrown within the try block, and RuntimeException is not explicitly caught. It is a common bug pattern to
say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception
each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well,
masking potential bugs.
A better approach is to either explicitly catch the specific exceptions that are thrown,
or to explicitly catch RuntimeException exception, rethrow it, and then catch all non-Runtime Exceptions, as shown below:
try {
...
} catch (RuntimeException e) {
throw e;
} catch (Exception e) {
... deal with all non-runtime exceptions ...
}
This method returns a value that is not checked. The return value should be checked
since it can indicate an unusual or unexpected function execution. For
example, the File.delete() method returns false
if the file could not be successfully deleted (rather than
throwing an Exception).
If you don't check the result, you won't notice if the method invocation
signals unexpected behavior by returning an atypical return value.
This code calls a method and ignores the return value. However our analysis shows that
the method (including its implementations in subclasses if any) does not produce any effect
other than return value. Thus this call can be removed.
We are trying to reduce the false positives as much as possible, but in some cases this warning might be wrong.
Common false-positive cases include:
- The method is designed to be overridden and produce a side effect in other projects which are out of the scope of the analysis.
- The method is called to trigger the class loading which may have a side effect.
- The method is called just to get some exception.
If you feel that our assumption is incorrect, you can use a @CheckReturnValue annotation
to instruct SpotBugs that ignoring the return value of this method is acceptable.
This instance method writes to a static field. This is tricky to get
correct if multiple instances are being manipulated,
and generally bad practice.
This class implements the Serializable interface
and its superclass does not. When such an object is deserialized,
the fields of the superclass need to be initialized by
invoking the void constructor of the superclass.
Since the superclass does not have one,
serialization and deserialization will fail at runtime.
This class implements the Comparator interface. You
should consider whether or not it should also implement the Serializable
interface. If a comparator is used to construct an ordered collection
such as a TreeMap, then the TreeMap
will be serializable only if the comparator is also serializable.
As most comparators have little or no state, making them serializable
is generally easy and good defensive programming.
This Serializable class defines a non-primitive instance field which is neither transient,
Serializable, or java.lang.Object, and does not appear to implement
the Externalizable interface or the
readObject() and writeObject() methods.
Objects of this class will not be deserialized correctly if a non-Serializable
object is stored in this field.
Our analysis shows that this object is useless.
It's created and modified, but its value never go outside of the method or produce any side-effect.
Either there is a mistake and object was intended to be used or it can be removed.
This analysis rarely produces false-positives. Common false-positive cases include:
- This object used to implicitly throw some obscure exception.
- This object used as a stub to generalize the code.
- This object used to hold strong references to weak/soft-referenced objects.
This method contains a useless control flow statement, where
control flow continues onto the same place regardless of whether or not
the branch is taken. For example,
this is caused by having an empty statement
block for an if statement:
if (argv.length == 0) {
// TODO: handle this case
}
This field is never read. Consider removing it from the class.
This field is never written. All reads of it will return the default
value. Check for errors (should it have been initialized?), or remove it if it is useless.