Project Information
Project:
SpotBugs version: 3.1.1
Code analyzed:
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideImage.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/oauth/StreetsideLoginListener.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/oauth/OAuthPortListener.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/oauth/OAuthUtils.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/oauth/StreetsideUser.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$CacheProxy.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$UserProfileCache.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/StreetsideCache$Type.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils$IgnoreDownload.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$CubemapCache.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$MapObjectIconCache.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/CacheUtils$PICTURE.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/StreetsideCache.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cache/Caches$ImageCache.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/mode/SelectMode.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/mode/JoinMode.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/mode/AbstractMode$SemiautomaticThread.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/mode/AbstractMode.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/mode/AbstractMode$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapUtils.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CameraTransformer.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CameraTransformer$RotateOrder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapUtils$CubefaceType.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapBuilder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CubemapUtils$CubemapFaces.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/ITileDownloadingTaskListener.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/CameraTransformer$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/TileDownloadingTask.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/GraphicsUtils$PlatformHelper.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/cubemap/GraphicsUtils.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/StreetsideSquareDownloadRunnable.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/StreetsideDownloader.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/StreetsideDownloader$DOWNLOAD_MODE.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/SequenceDownloadRunnable.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/ImageDetailsDownloadRunnable.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/download/BoundsDownloadRunnable.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/export/StreetsideExportWriterThread.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/export/StreetsideExportDownloadThread.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/io/export/StreetsideExportManager.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideSequence.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideImage$Rn.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideProperties.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideSequenceIdGenerator.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/CubemapBox$CubemapBoxImageType.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideColorScheme.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURL.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideChangesetListener.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/ImageUtil.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/PluginState.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURL$APIv3.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURL$VirtualEarth.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/MapViewGeometryUtil.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideUtils.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/CubemapBox$3.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/CubemapBox$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonSequencesDecoder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonImageDetectionDecoder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonStreetsideDecoder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonDecoder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonMapObjectDecoder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonLocationChangesetEncoder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonImageDetailsDecoder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/api/JsonStreetsideSequencesDecoder.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/CubemapBox.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/StreetsideURL$MainWebsite.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/utils/CubemapBox$2.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideLayer$NearestImgToTargetComparator.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideAbstractImage.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideLayer.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$StopAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$MODE.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$NextPictureAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ImageInfoPanel.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ImageInfoHelpPopup$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/AddTagToPrimitiveAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerPanel.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/WebLinkAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerPanel$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerHelpPopup.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ThreeSixtyDegreeViewerPanel$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/StreetsideViewerHelpPopup$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ImageInfoHelpPopup.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ClipboardAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/imageinfo/ThreeSixtyDegreeViewerPanel.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageDisplay$ImgDisplayMouseListener.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$PauseAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$PreviousPictureAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$BlueAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting$LoginAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$RedAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/dialog/ChooseGeoImageLayersDialog.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/dialog/ChooseGeoImageLayersDialog$BasicListModel.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/dialog/ChooseGeoImageLayersDialog$GeoImageLayerListCellRenderer.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideExportDialog$RewriteButtonAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideExportDialog.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageDisplay.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/boilerplate/SelectableLabel.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/boilerplate/StreetsideButton.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog$PlayAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageDisplay$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting$1.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideViewerDialog.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideMainDialog.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideWalkDialog.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsidePreferenceSetting$LogoutAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/gui/StreetsideImageTreeCellRenderer.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/ImageDetection.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/MapObject.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/KeyIndexedObject.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/UserProfile.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/model/SpecialImageArea.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/StreetsideRecordListener.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/StreetsideExecutableCommand.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/CommandImport.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/CommandMove.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/CommandTurn.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/CommandJoin.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/StreetsideCommand.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/commands/CommandUnjoin.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/history/StreetsideRecord.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideDownloadAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/WalkThread.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideZoomAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/ImageReloadAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideExportAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideJoinAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/WalkListener.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideDownloadViewAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/actions/StreetsideWalkAction.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideData.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideDataListener.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideLayer$NearestCbToTargetComparator.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideImportedImage.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideLocationChangeset.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsideCubemap.class
- /Users/renerr18/Documents/Microsoft/dev/josm_current_06162018/applications/editors/josm/plugins/MicrosoftStreetside/build/classes/java/main/org/openstreetmap/josm/plugins/streetside/StreetsidePlugin.class
Metrics
5844 lines of code analyzed,
in 141 classes,
in 17 packages.
| High Priority Warnings |
10 |
1.71 |
| Medium Priority Warnings |
20 |
3.42 |
| Low Priority Warnings |
33 |
5.65 |
|
Total Warnings
|
63
|
10.78
|
(* 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 20]
|
|
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 97]
|
|
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 28]
|
|
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.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
|
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
|
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 16-26]
|
|
Se
|
org.openstreetmap.josm.plugins.streetside.StreetsideLayer$NearestCbToTargetComparator implements Comparator but not Serializable |
|
Bug type SE_COMPARATOR_SHOULD_BE_SERIALIZABLE (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideLayer$NearestCbToTargetComparator At StreetsideLayer.java:[lines 595-608]
|
|
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 577-590]
|
|
UwF
|
Unwritten field: org.openstreetmap.josm.plugins.streetside.StreetsideImage.he |
|
Bug type UWF_UNWRITTEN_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideImage Field org.openstreetmap.josm.plugins.streetside.StreetsideImage.he At StreetsideImage.java:[line 124]
|
|
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 232]
|
|
EI
|
org.openstreetmap.josm.plugins.streetside.utils.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.utils.CubemapBox In method org.openstreetmap.josm.plugins.streetside.utils.CubemapBox.getViews() Field org.openstreetmap.josm.plugins.streetside.utils.CubemapBox.views At CubemapBox.java:[line 323]
|
|
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 64]
|
|
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 71]
|
|
IS
|
Inconsistent synchronization of org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.streetsideViewerHelp; locked 50% of time |
|
Bug type IS2_INCONSISTENT_SYNC (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog Field org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.streetsideViewerHelp Synchronized 50% of the time Unsynchronized access at StreetsideMainDialog.java:[line 167] Synchronized access at StreetsideMainDialog.java:[line 160]
|
|
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 267-268]
|
|
UG
|
org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.getStreetsideViewerHelp() is unsynchronized, org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.setStreetsideViewerHelp(StreetsideViewerHelpPopup) is synchronized |
|
Bug type UG_SYNC_SET_UNSYNC_GET (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog In method org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.getStreetsideViewerHelp() In method org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.setStreetsideViewerHelp(StreetsideViewerHelpPopup) At StreetsideMainDialog.java:[line 167]
|
|
UG
|
org.openstreetmap.josm.plugins.streetside.StreetsideAbstractImage.getCd() is unsynchronized, org.openstreetmap.josm.plugins.streetside.StreetsideAbstractImage.setCd(long) is synchronized |
|
Bug type UG_SYNC_SET_UNSYNC_GET (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideAbstractImage In method org.openstreetmap.josm.plugins.streetside.StreetsideAbstractImage.getCd() In method org.openstreetmap.josm.plugins.streetside.StreetsideAbstractImage.setCd(long) At StreetsideAbstractImage.java:[line 118]
|
|
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 192] Another occurrence at CubemapBuilder.java:[line 222]
|
|
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 89] Another occurrence at CubemapBuilder.java:[line 112]
|
|
Bx
|
Primitive boxed just to call toString in org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.tileAdded(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.tileAdded(String) Called method Integer.toString() Should call Integer.toString(int) instead At CubemapBuilder.java:[line 168]
|
|
Bx
|
Boxing/unboxing to parse a primitive org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils.convertQuaternary2Decimal(String) |
|
Bug type DM_BOXED_PRIMITIVE_FOR_PARSING (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils.convertQuaternary2Decimal(String) Called method Integer.intValue() Should call Integer.parseInt(String) instead At CubemapUtils.java:[line 121]
|
|
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 127]
|
|
UPM
|
Private method org.openstreetmap.josm.plugins.streetside.actions.WalkThread.preDownloadCubemaps(StreetsideImage, int, CacheUtils$PICTURE) is never called |
|
Bug type UPM_UNCALLED_PRIVATE_METHOD (click for details)
In class org.openstreetmap.josm.plugins.streetside.actions.WalkThread In method org.openstreetmap.josm.plugins.streetside.actions.WalkThread.preDownloadCubemaps(StreetsideImage, int, CacheUtils$PICTURE) At WalkThread.java:[lines 152-166]
|
|
UPM
|
Private method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.createDefaultScene() is never called |
|
Bug type UPM_UNCALLED_PRIVATE_METHOD (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel In method org.openstreetmap.josm.plugins.streetside.gui.imageinfo.ThreeSixtyDegreeViewerPanel.createDefaultScene() At ThreeSixtyDegreeViewerPanel.java:[lines 232-240]
|
|
UrF
|
Unread field: org.openstreetmap.josm.plugins.streetside.cubemap.TileDownloadingTask.cancelled |
|
Bug type URF_UNREAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.TileDownloadingTask Field org.openstreetmap.josm.plugins.streetside.cubemap.TileDownloadingTask.cancelled At TileDownloadingTask.java:[line 33]
|
|
UrF
|
Unread field: org.openstreetmap.josm.plugins.streetside.io.download.ImageDetailsDownloadRunnable.data |
|
Bug type URF_UNREAD_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.io.download.ImageDetailsDownloadRunnable Field org.openstreetmap.josm.plugins.streetside.io.download.ImageDetailsDownloadRunnable.data At ImageDetailsDownloadRunnable.java:[line 22]
|
|
UuF
|
Unused field: org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.streetsideViewerHelp |
|
Bug type UUF_UNUSED_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder Field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.streetsideViewerHelp In CubemapBuilder.java
|
|
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 99]
|
|
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.cubemap.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.cubemap.GraphicsUtils In method org.openstreetmap.josm.plugins.streetside.cubemap.GraphicsUtils.cropMultiTiledImages(BufferedImage[], int) At GraphicsUtils.java:[line 154] At GraphicsUtils.java:[line 165]
|
|
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)
|
|
FE
|
Test for floating point equality in org.openstreetmap.josm.plugins.streetside.utils.CubemapBox.loadSingleImageViewports() |
|
Bug type FE_FLOATING_POINT_EQUALITY (click for details)
In class org.openstreetmap.josm.plugins.streetside.utils.CubemapBox In method org.openstreetmap.josm.plugins.streetside.utils.CubemapBox.loadSingleImageViewports() At CubemapBox.java:[line 209]
|
|
NP
|
Load of known null value in org.openstreetmap.josm.plugins.streetside.io.download.SequenceDownloadRunnable.run(URLConnection) |
|
Bug type NP_LOAD_OF_KNOWN_NULL_VALUE (click for details)
In class org.openstreetmap.josm.plugins.streetside.io.download.SequenceDownloadRunnable In method org.openstreetmap.josm.plugins.streetside.io.download.SequenceDownloadRunnable.run(URLConnection) Value loaded from previous At SequenceDownloadRunnable.java:[line 85]
|
|
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 85]
|
|
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 85]
|
|
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 87]
|
|
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 127]
|
|
RI
|
Class org.openstreetmap.josm.plugins.streetside.StreetsideCubemap implements same interface as superclass |
|
Bug type RI_REDUNDANT_INTERFACES (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideCubemap Interface java.lang.Comparable At StreetsideCubemap.java:[lines 20-140]
|
|
SF
|
Switch statement found in org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.setMode(StreetsideMainDialog$MODE) where default case is missing |
|
Bug type SF_SWITCH_NO_DEFAULT (click for details)
In class org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog In method org.openstreetmap.josm.plugins.streetside.gui.StreetsideMainDialog.setMode(StreetsideMainDialog$MODE) At StreetsideMainDialog.java:[lines 176-178]
|
|
SF
|
Switch statement found in org.openstreetmap.josm.plugins.streetside.utils.StreetsideURL.string2URLs(String, String, String) where one case falls through to the next case |
|
Bug type SF_SWITCH_FALLTHROUGH (click for details)
In class org.openstreetmap.josm.plugins.streetside.utils.StreetsideURL In method org.openstreetmap.josm.plugins.streetside.utils.StreetsideURL.string2URLs(String, String, String) At StreetsideURL.java:[lines 245-264]
|
|
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 84]
|
|
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 86]
|
|
ST
|
Write to static field org.openstreetmap.josm.plugins.streetside.StreetsideCubemap.face2TilesMap from instance method new org.openstreetmap.josm.plugins.streetside.StreetsideCubemap(String, LatLon, double) |
|
Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideCubemap In method new org.openstreetmap.josm.plugins.streetside.StreetsideCubemap(String, LatLon, double) Field org.openstreetmap.josm.plugins.streetside.StreetsideCubemap.face2TilesMap At StreetsideCubemap.java:[line 45]
|
|
ST
|
Write to static field org.openstreetmap.josm.plugins.streetside.StreetsideCubemap.face2TilesMap from instance method org.openstreetmap.josm.plugins.streetside.StreetsideCubemap.resetFaces2TileMap() |
|
Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideCubemap In method org.openstreetmap.josm.plugins.streetside.StreetsideCubemap.resetFaces2TileMap() Field org.openstreetmap.josm.plugins.streetside.StreetsideCubemap.face2TilesMap At StreetsideCubemap.java:[line 135]
|
|
UCF
|
Useless control flow in org.openstreetmap.josm.plugins.streetside.io.download.SequenceDownloadRunnable.run(URLConnection) |
|
Bug type UCF_USELESS_CONTROL_FLOW (click for details)
In class org.openstreetmap.josm.plugins.streetside.io.download.SequenceDownloadRunnable In method org.openstreetmap.josm.plugins.streetside.io.download.SequenceDownloadRunnable.run(URLConnection) At SequenceDownloadRunnable.java:[line 85]
|
|
UCF
|
Useless control flow in org.openstreetmap.josm.plugins.streetside.StreetsideLayer.setVisible(boolean) |
|
Bug type UCF_USELESS_CONTROL_FLOW (click for details)
In class org.openstreetmap.josm.plugins.streetside.StreetsideLayer In method org.openstreetmap.josm.plugins.streetside.StreetsideLayer.setVisible(boolean) At StreetsideLayer.java:[line 265]
|
|
UrF
|
Unread public/protected field: org.openstreetmap.josm.plugins.streetside.cubemap.CubemapUtils.directionConversion |
|
Bug type URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD (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 64]
|
|
UuF
|
Unused public or protected field: org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.cancelled |
|
Bug type UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder Field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.cancelled In CubemapBuilder.java
|
|
UwF
|
CubemapBuilder.cubemap not initialized in constructor and dereferenced in org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.buildCubemapFaces() |
|
Bug type UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR (click for details)
In class org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder Field org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.cubemap In method org.openstreetmap.josm.plugins.streetside.cubemap.CubemapBuilder.buildCubemapFaces() At CubemapBuilder.java:[line 248]
|
|
UwF
|
JoinMode.lastPos not initialized in constructor and dereferenced in org.openstreetmap.josm.plugins.streetside.mode.JoinMode.paint(Graphics2D, MapView, Bounds) |
|
Bug type UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR (click for details)
In class org.openstreetmap.josm.plugins.streetside.mode.JoinMode Field org.openstreetmap.josm.plugins.streetside.mode.JoinMode.lastPos In method org.openstreetmap.josm.plugins.streetside.mode.JoinMode.paint(Graphics2D, MapView, Bounds) At JoinMode.java:[line 85]
|
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 created from a String, just to extract the unboxed primitive value.
It is more efficient to just call the static parseXXX method.
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 operation compares two floating point values for equality.
Because floating point calculations may involve rounding,
calculated float and double values may not be accurate.
For values that must be precise, such as monetary values,
consider using a fixed-precision type such as BigDecimal.
For values that need not be precise, consider comparing for equality
within some range, for example:
if ( Math.abs(x - y) < .0000001 ).
See the Java Language Specification, section 4.2.4.
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
}
The fields of this class appear to be accessed inconsistently with respect
to synchronization. This bug report indicates that the bug pattern detector
judged that
- The class contains a mix of locked and unlocked accesses,
- The class is not annotated as javax.annotation.concurrent.NotThreadSafe,
- At least one locked access was performed by one of the class's own methods, and
- The number of unsynchronized field accesses (reads and writes) was no more than
one third of all accesses, with writes being weighed twice as high as reads
A typical bug matching this bug pattern is forgetting to synchronize
one of the methods in a class that is intended to be thread-safe.
You can select the nodes labeled "Unsynchronized access" to show the
code locations where the detector believed that a field was accessed
without synchronization.
Note that there are various sources of inaccuracy in this detector;
for example, the detector cannot statically detect all situations in which
a lock is held. Also, even when the detector is accurate in
distinguishing locked vs. unlocked accesses, the code in question may still
be correct.
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).
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.
This method contains a redundant check of a known non-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 class declares that it implements an interface that is also implemented by a superclass.
This is redundant because once a superclass implements an interface, all subclasses by default also
implement this interface. It may point out that the inheritance hierarchy has changed since
this class was created, and consideration should be given to the ownership of
the interface's implementation.
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 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.
This method contains a switch statement where default case is missing.
Usually you need to provide a default case.
Because the analysis only looks at the generated bytecode, this warning can be incorrect triggered if
the default case is at the end of the switch statement and the switch statement doesn't contain break statements for other
cases.
This method contains a switch statement where one case branch will fall through to the next case.
Usually you need to end this case with a break or return.
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 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 class contains similarly-named get and set
methods where the set method is synchronized and the get method is not.
This may result in incorrect behavior at runtime, as callers of the get
method will not necessarily see a consistent state for the object.
The get method should be made synchronized.
This private method is never called. Although it is
possible that the method will be invoked through reflection,
it is more likely that the method is never used, and should be
removed.
This field is never read. Consider removing it from the class.
This field is never read.
The field is public or protected, so perhaps
it is intended to be used with classes not seen as part of the analysis. If not,
consider removing it from the class.
This field is never used. Consider removing it from the class.
This field is never used.
The field is public or protected, so perhaps
it is intended to be used with classes not seen as part of the analysis. If not,
consider removing it from the class.
This field is never initialized within any constructor, and is therefore could be null after
the object is constructed. Elsewhere, it is loaded and dereferenced without a null check.
This could be a either an error or a questionable design, since
it means a null pointer exception will be generated if that field is dereferenced
before being initialized.
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.