diff --git a/spotbugs-baseline.xml b/spotbugs-baseline.xml index 4903db8d..d68f0169 100644 --- a/spotbugs-baseline.xml +++ b/spotbugs-baseline.xml @@ -1,6 +1,6 @@ - + C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\constants\Constants.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\AssignmentsComponent$1.class @@ -31,6 +31,7 @@ C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$3.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$AbstractProfileFileChooser.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$ChangeVJoyDirectoryAction.class + C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$ConnectAction.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$ConnectionSettingsPanel.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$ControllerInfo.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$DisplayIndicatorAction.class @@ -40,6 +41,7 @@ C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$IndicatorProgressBar.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$InvertIndicatorAction.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$JsonContext.class + C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$LimitedLengthPlainDocument.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$NewAction.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$NewModeAction.class C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\build\classes\java\main\de\bwravencl\controllerbuddy\gui\Main$OpenAction.class @@ -239,21 +241,21 @@ C:\Users\matteo\.gradle\caches\modules-2\files-2.1\com.formdev\flatlaf\3.5.4\cd61f9fc2550473fdacebc205a68e24a065f6fdf\flatlaf-3.5.4.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\com.github.hypfvieh\dbus-java-transport-native-unixsocket\5.1.0\c71b4b30955c120764337aa66e2937c574d174d3\dbus-java-transport-native-unixsocket-5.1.0.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\com.github.hypfvieh\dbus-java-core\5.1.0\8ad3e27128cf0144127202a07106277eeca42664\dbus-java-core-5.1.0.jar - C:\Users\matteo\.gradle\caches\8.11.1\transforms\3508f319425ec1dc2f70a4b388a93816\transformed\hid4java-0.8.0-module.jar - C:\Users\matteo\.gradle\caches\8.11.1\transforms\b64d7aeb7cb3de84af2858616d00dfa3\transformed\JXInput-1.0.1-module.jar + C:\Users\matteo\.gradle\caches\8.12\transforms\f20db35a6633577d767d720383cde8f8\transformed\hid4java-0.8.0-module.jar + C:\Users\matteo\.gradle\caches\8.12\transforms\06896387e88447ab9cdb8464e10736b2\transformed\JXInput-1.0.1-module.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\com.google.code.gson\gson\2.11.0\527175ca6d81050b53bdd4c457a6d6e017626b0e\gson-2.11.0.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\io.github.classgraph\classgraph\4.8.179\f159dd8bbbf381c4006c1f675ec4e648c8317f32\classgraph-4.8.179.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-platform-jpms\5.15.0\9093c678070f1b1edd7f5e27db01649f9f9e18f1\jna-platform-jpms-5.15.0.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-jpms\5.15.0\b0f59539bbe010a75b1a9759a67521692bf65d78\jna-jpms-5.15.0.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-platform-jpms\5.16.0\af1425dfa5e0d28f0f620d6989d0984dc4fa008b\jna-platform-jpms-5.16.0.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-jpms\5.16.0\d55b54177da272efbe5707e9b4399ce74baa745\jna-jpms-5.16.0.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.apache.xmlgraphics\batik-swing\1.18\c70a24147aecce502af4235d713799ccf2272914\batik-swing-1.18.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.3.5\8e5cb628322a9485f44abee091a1b7354e310aaa\lwjgl-glfw-3.3.5.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.3.5\ec71ad4814b27850ac73580f593763e72dc5cbcc\lwjgl-glfw-3.3.5-natives-windows.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-opengl\3.3.5\49abf45c8aa02b0d2d72193c3ec4a67169f9647f\lwjgl-opengl-3.3.5.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-opengl\3.3.5\70ef32dea2b32172e765c758a12201b195123ca\lwjgl-opengl-3.3.5-natives-windows.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-openvr\3.3.5\1275ae73af2285b3651d542c8b127b7d8c81cae4\lwjgl-openvr-3.3.5.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-openvr\3.3.5\58926d665a89318ac69872a59c4d81febcbb01f7\lwjgl-openvr-3.3.5-natives-windows.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl\3.3.5\1d4d9c56e41dc3c04f6a44c4cb6ba6fdeb7010d8\lwjgl-3.3.5.jar - C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl\3.3.5\c41b13feb6b9a492c7f6c19448b2354b467ea337\lwjgl-3.3.5-natives-windows.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.3.6\7119f7d0eeb1e5502ff0ca71d2b4d47317da015\lwjgl-glfw-3.3.6.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.3.6\99ef08056feb9627f90425a4d2a22cd9fae8e39b\lwjgl-glfw-3.3.6-natives-windows.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-opengl\3.3.6\ac2532612a4df374e9a9282bcf8ce2573018ebbb\lwjgl-opengl-3.3.6.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-opengl\3.3.6\18dc639ebc94aa5202c2157f7490d28997b697c5\lwjgl-opengl-3.3.6-natives-windows.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-openvr\3.3.6\1de5113932e4920d6dbb4e4283dc627a3dbde132\lwjgl-openvr-3.3.6.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-openvr\3.3.6\37534a1ae09b04f8fcd60c3f356656f2cd943d38\lwjgl-openvr-3.3.6-natives-windows.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl\3.3.6\ce7721d30cfaf47feaed10213e0c43eb55c49d68\lwjgl-3.3.6.jar + C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl\3.3.6\9a29b6a22fc5184604b8cb434ee5d5ecc4bfcbee\lwjgl-3.3.6-natives-windows.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-jdk14\2.0.16\d88389c7a3c0afdb7c3d299c60f4e6afacaf5362\slf4j-jdk14-2.0.16.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\uk.co.bithatch\linuxio4j\2.1\f7d312bfd93646a3e9a9ad66319d94a5ae9ef10e\linuxio4j-2.1.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\com.google.errorprone\error_prone_annotations\2.27.0\91b2c29d8a6148b5e2e4930f070d4840e2e48e34\error_prone_annotations-2.27.0.jar @@ -272,12 +274,12 @@ C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.apache.xmlgraphics\batik-util\1.18\1b5126413569b45fa5e35eae936e1acd4abcd5dd\batik-util-1.18.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.apache.xmlgraphics\batik-constants\1.18\377a0e5aea2a44295c472c0960f4fa9f09412a77\batik-constants-1.18.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.apache.xmlgraphics\batik-i18n\1.18\816b3f791b95cc0a0cec616028a869ecc790dd4d\batik-i18n-1.18.jar - C:\Users\matteo\.gradle\caches\8.11.1\transforms\64dbf614a6eb2049e886b2cb0530f391\transformed\batik-shared-resources-1.18-module.jar - C:\Users\matteo\.gradle\caches\8.11.1\transforms\ba16caac98382d2f38b76295fbf4eb55\transformed\xml-apis-ext-1.3.04-module.jar + C:\Users\matteo\.gradle\caches\8.12\transforms\79838328f74c40b60ee041b5bf5f2c19\transformed\batik-shared-resources-1.18-module.jar + C:\Users\matteo\.gradle\caches\8.12\transforms\d158d4573a9efb1ef26b585dff064884\transformed\xml-apis-ext-1.3.04-module.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\2.0.16\172931663a09a1fa515567af5fbef00897d3c04\slf4j-api-2.0.16.jar - C:\Users\matteo\.gradle\caches\8.11.1\transforms\6bbdf507e29c242b7d5b2f256c0e3841\transformed\xmlgraphics-commons-2.10-module.jar + C:\Users\matteo\.gradle\caches\8.12\transforms\f53e5b7c841c924520a19b77f7ea0c01\transformed\xmlgraphics-commons-2.10-module.jar C:\Users\matteo\.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.11.0\a2503f302b11ebde7ebc3df41daebe0e4eea3689\commons-io-2.11.0.jar - C:\Users\matteo\.gradle\caches\8.11.1\transforms\8869f083ad6dd972e7ba8233d6a7d793\transformed\commons-logging-1.0.4-module.jar + C:\Users\matteo\.gradle\caches\8.12\transforms\e2bf47c4c599e240693078fbbde11fd0\transformed\commons-logging-1.0.4-module.jar C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\src\main\resources C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\src\main\java @@ -349,13 +351,13 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.gui.EditActionsDialog.getInput() may expose internal representation by returning EditActionsDialog.input - - At EditActionsDialog.java:[lines 80-601] + + At EditActionsDialog.java:[lines 79-604] In class de.bwravencl.controllerbuddy.gui.EditActionsDialog - + In method de.bwravencl.controllerbuddy.gui.EditActionsDialog.getInput() @@ -364,21 +366,21 @@ Field de.bwravencl.controllerbuddy.gui.EditActionsDialog.input - - At EditActionsDialog.java:[line 395] + + At EditActionsDialog.java:[line 394] May expose internal representation by incorporating reference to mutable object new de.bwravencl.controllerbuddy.gui.EditActionsDialog(EditActionsDialog, ButtonToCycleAction) may expose internal representation by storing an externally mutable object into EditActionsDialog.cycleAction - - At EditActionsDialog.java:[lines 80-601] + + At EditActionsDialog.java:[lines 79-604] In class de.bwravencl.controllerbuddy.gui.EditActionsDialog - + In method new de.bwravencl.controllerbuddy.gui.EditActionsDialog(EditActionsDialog, ButtonToCycleAction) @@ -390,97 +392,140 @@ Local variable named cycleAction - - At EditActionsDialog.java:[line 172] + + At EditActionsDialog.java:[line 173] - - Random object created and used only once - Random object created and used only once in de.bwravencl.controllerbuddy.gui.Main.lambda$new$2() - - - At Main.java:[lines 223-3457] + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At EditActionsDialog.java:[lines 79-604] - In class de.bwravencl.controllerbuddy.gui.Main + In class de.bwravencl.controllerbuddy.gui.EditActionsDialog - - - In method de.bwravencl.controllerbuddy.gui.Main.lambda$new$2() + + + In method new de.bwravencl.controllerbuddy.gui.EditActionsDialog(EditActionsDialog, ButtonToCycleAction) + + + At EditActionsDialog.java:[line 180] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At EditActionsDialog.java:[lines 79-604] + + In class de.bwravencl.controllerbuddy.gui.EditActionsDialog + + + + In method new de.bwravencl.controllerbuddy.gui.EditActionsDialog(Main, Mode$Component, String) + + + At EditActionsDialog.java:[line 202] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At EditActionsDialog.java:[lines 79-604] + + In class de.bwravencl.controllerbuddy.gui.EditActionsDialog + + + + In method de.bwravencl.controllerbuddy.gui.EditActionsDialog.lambda$init$13(JButton, JButton, JScrollPane, JLabel, ListSelectionEvent) - - - Called method java.security.SecureRandom.nextInt() + + At EditActionsDialog.java:[line 512] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At EditActionsDialog.java:[lines 667-680] + + In class de.bwravencl.controllerbuddy.gui.EditActionsDialog$CopyActionAction + + + + In method de.bwravencl.controllerbuddy.gui.EditActionsDialog$CopyActionAction.actionPerformed(ActionEvent) - - At Main.java:[line 447] + + At EditActionsDialog.java:[line 678] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At EditActionsDialog.java:[lines 731-743] + + In class de.bwravencl.controllerbuddy.gui.EditActionsDialog$PasteActionAction + + + + In method de.bwravencl.controllerbuddy.gui.EditActionsDialog$PasteActionAction.actionPerformed(ActionEvent) + + + At EditActionsDialog.java:[line 741] Method invokes System.exit(...) de.bwravencl.controllerbuddy.gui.Main.terminate(int, Main) invokes System.exit(...), which shuts down the entire virtual machine - - At Main.java:[lines 223-3457] + + At Main.java:[lines 232-3600] In class de.bwravencl.controllerbuddy.gui.Main - + In method de.bwravencl.controllerbuddy.gui.Main.terminate(int, Main) - - At Main.java:[line 1384] + + At Main.java:[line 1448] Explicit garbage collection; extremely dubious except in benchmarking code de.bwravencl.controllerbuddy.gui.Main.stopAll(boolean, boolean, boolean) forces garbage collection; extremely dubious except in benchmarking code - - At Main.java:[lines 223-3457] + + At Main.java:[lines 232-3600] In class de.bwravencl.controllerbuddy.gui.Main - + In method de.bwravencl.controllerbuddy.gui.Main.stopAll(boolean, boolean, boolean) - - At Main.java:[line 2721] - - - - Method invoked that should be only be invoked inside a doPrivileged block - Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in de.bwravencl.controllerbuddy.gui.Main.updateTitleAndTooltip() - - - At Main.java:[lines 223-3457] - - In class de.bwravencl.controllerbuddy.gui.Main - - - - In method de.bwravencl.controllerbuddy.gui.Main.updateTitleAndTooltip() - - - - Called method reflect.Field.setAccessible(boolean) - - - At Main.java:[line 3404] + + At Main.java:[line 2864] May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.gui.Main.getFrame() may expose internal representation by returning Main.frame - - At Main.java:[lines 223-3457] + + At Main.java:[lines 232-3600] In class de.bwravencl.controllerbuddy.gui.Main - + In method de.bwravencl.controllerbuddy.gui.Main.getFrame() @@ -489,21 +534,21 @@ Field de.bwravencl.controllerbuddy.gui.Main.frame - - At Main.java:[line 1676] + + At Main.java:[line 1740] May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.gui.Main.getOnScreenKeyboard() may expose internal representation by returning Main.onScreenKeyboard - - At Main.java:[lines 223-3457] + + At Main.java:[lines 232-3600] In class de.bwravencl.controllerbuddy.gui.Main - + In method de.bwravencl.controllerbuddy.gui.Main.getOnScreenKeyboard() @@ -512,21 +557,21 @@ Field de.bwravencl.controllerbuddy.gui.Main.onScreenKeyboard - - At Main.java:[line 1688] + + At Main.java:[line 1752] May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.gui.Main.getPreferences() may expose internal representation by returning Main.preferences - - At Main.java:[lines 223-3457] + + At Main.java:[lines 232-3600] In class de.bwravencl.controllerbuddy.gui.Main - + In method de.bwravencl.controllerbuddy.gui.Main.getPreferences() @@ -535,62 +580,286 @@ Field de.bwravencl.controllerbuddy.gui.Main.preferences - - At Main.java:[line 1709] + + At Main.java:[line 1777] + + + + May expose internal representation by returning reference to mutable object + de.bwravencl.controllerbuddy.gui.Main.getRandom() may expose internal representation by returning Main.random + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method de.bwravencl.controllerbuddy.gui.Main.getRandom() + + + + In Main.java + + Field de.bwravencl.controllerbuddy.gui.Main.random + + + At Main.java:[line 1781] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method de.bwravencl.controllerbuddy.gui.Main.<static initializer for Main>() + + + At Main.java:[line 384] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method new de.bwravencl.controllerbuddy.gui.Main(Main$TaskRunner, String, String) + + + At Main.java:[line 467] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method new de.bwravencl.controllerbuddy.gui.Main(Main$TaskRunner, String, String) + + + At Main.java:[line 659] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method new de.bwravencl.controllerbuddy.gui.Main(Main$TaskRunner, String, String) + + + At Main.java:[line 667] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method de.bwravencl.controllerbuddy.gui.Main.executeWhileVisible(Callable) + + + At Main.java:[line 1541] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method de.bwravencl.controllerbuddy.gui.Main.getResourceLocation(String) + + + At Main.java:[line 1234] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method de.bwravencl.controllerbuddy.gui.Main.lambda$new$2() + + + At Main.java:[line 531] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method de.bwravencl.controllerbuddy.gui.Main.openBrowser(Component, URI) + + + At Main.java:[line 1414] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 232-3600] + + In class de.bwravencl.controllerbuddy.gui.Main + + + + In method de.bwravencl.controllerbuddy.gui.Main.updateTheme() + + + At Main.java:[line 3523] Switch statement found where one case falls through to the next case Switch statement found in de.bwravencl.controllerbuddy.gui.Main$AbstractProfileFileChooser.approveSelection() where one case falls through to the next case - - At Main.java:[lines 3507-3529] + + At Main.java:[lines 3650-3672] In class de.bwravencl.controllerbuddy.gui.Main$AbstractProfileFileChooser - + In method de.bwravencl.controllerbuddy.gui.Main$AbstractProfileFileChooser.approveSelection() - - At Main.java:[lines 3521-3523] + + At Main.java:[lines 3664-3666] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 4588-4625] + + In class de.bwravencl.controllerbuddy.gui.Main$ShowLicensesAction + + + + In method de.bwravencl.controllerbuddy.gui.Main$ShowLicensesAction.lambda$actionPerformed$0(JEditorPane, JScrollPane, HyperlinkEvent) + + + At Main.java:[line 4617] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 3837-3850] + + In class de.bwravencl.controllerbuddy.gui.Main$ShowWebsiteAction + + + + In method de.bwravencl.controllerbuddy.gui.Main$ShowWebsiteAction.actionPerformed(ActionEvent) + + + At Main.java:[line 3848] Naked notify Naked notify in de.bwravencl.controllerbuddy.gui.Main$TaskRunner.enterLoop() - - At Main.java:[lines 3687-3823] + + At Main.java:[lines 3853-3992] In class de.bwravencl.controllerbuddy.gui.Main$TaskRunner - + In method de.bwravencl.controllerbuddy.gui.Main$TaskRunner.enterLoop() - - At Main.java:[line 3723] + + At Main.java:[line 3889] - - An overridable method is called from the readObject method. - Overridable method getName is called from readObject. - - - At OnScreenKeyboard.java:[lines 496-550] + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 3853-3992] - In class de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$AbstractKeyboardButton + In class de.bwravencl.controllerbuddy.gui.Main$TaskRunner - - - In method de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$AbstractKeyboardButton.readObject(ObjectInputStream) + + + In method de.bwravencl.controllerbuddy.gui.Main$TaskRunner.enterLoop() - - Value getName - - - At OnScreenKeyboard.java:[line 513] + + At Main.java:[line 3882] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Main.java:[lines 3853-3992] + + In class de.bwravencl.controllerbuddy.gui.Main$TaskRunner + + + + In method de.bwravencl.controllerbuddy.gui.Main$TaskRunner.run(Callable) + + + At Main.java:[line 3941] @@ -637,28 +906,62 @@ An overridable method is called from a constructor Overridable method stop is called from constructor new de.bwravencl.controllerbuddy.gui.OpenVrOverlay(Main). - - At OpenVrOverlay.java:[lines 55-433] + + At OpenVrOverlay.java:[lines 55-438] In class de.bwravencl.controllerbuddy.gui.OpenVrOverlay - + In method new de.bwravencl.controllerbuddy.gui.OpenVrOverlay(Main) Value stop - - At OpenVrOverlay.java:[line 195] + + At OpenVrOverlay.java:[line 200] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At OpenVrOverlay.java:[lines 55-438] + + In class de.bwravencl.controllerbuddy.gui.OpenVrOverlay + + + + In method new de.bwravencl.controllerbuddy.gui.OpenVrOverlay(Main) + + + At OpenVrOverlay.java:[line 91] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At OpenVrOverlay.java:[lines 55-438] + + In class de.bwravencl.controllerbuddy.gui.OpenVrOverlay + + + + In method de.bwravencl.controllerbuddy.gui.OpenVrOverlay.checkOverlayError(int) + + + At OpenVrOverlay.java:[line 329] May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getAxes() may expose internal representation by returning Input.axes - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -680,8 +983,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getButtons() may expose internal representation by returning Input.buttons - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -703,8 +1006,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getDownKeyStrokes() may expose internal representation by returning Input.downKeyStrokes - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -726,8 +1029,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getDownMouseButtons() may expose internal representation by returning Input.downMouseButtons - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -749,8 +1052,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getDownUpKeyStrokes() may expose internal representation by returning Input.downUpKeyStrokes - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -772,8 +1075,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getDownUpMouseButtons() may expose internal representation by returning Input.downUpMouseButtons - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -795,8 +1098,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getMain() may expose internal representation by returning Input.main - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -818,8 +1121,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getOffLockKeys() may expose internal representation by returning Input.offLockKeys - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -841,8 +1144,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getOnLockKeys() may expose internal representation by returning Input.onLockKeys - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -864,8 +1167,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getProfile() may expose internal representation by returning Input.profile - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -887,8 +1190,8 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.Input.getRunMode() may expose internal representation by returning Input.runMode - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -910,8 +1213,8 @@ May expose internal representation by incorporating reference to mutable object new de.bwravencl.controllerbuddy.input.Input(Main, Main$ControllerInfo, EnumMap) may expose internal representation by storing an externally mutable object into Input.axes - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -936,8 +1239,8 @@ May expose internal representation by incorporating reference to mutable object new de.bwravencl.controllerbuddy.input.Input(Main, Main$ControllerInfo, EnumMap) may expose internal representation by storing an externally mutable object into Input.main - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input @@ -962,13 +1265,13 @@ May expose internal representation by incorporating reference to mutable object de.bwravencl.controllerbuddy.input.Input.setProfile(Profile) may expose internal representation by storing an externally mutable object into Input.profile - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input - + In method de.bwravencl.controllerbuddy.input.Input.setProfile(Profile) @@ -980,21 +1283,21 @@ Local variable named profile - - At Input.java:[line 725] + + At Input.java:[line 727] May expose internal representation by incorporating reference to mutable object de.bwravencl.controllerbuddy.input.Input.setRunMode(RunMode) may expose internal representation by storing an externally mutable object into Input.runMode - - At Input.java:[lines 50-739] + + At Input.java:[lines 50-741] In class de.bwravencl.controllerbuddy.input.Input - + In method de.bwravencl.controllerbuddy.input.Input.setRunMode(RunMode) @@ -1006,8 +1309,8 @@ Local variable named runMode - - At Input.java:[line 730] + + At Input.java:[line 732] @@ -1351,13 +1654,13 @@ May expose internal representation by returning reference to mutable object de.bwravencl.controllerbuddy.input.action.ButtonToCycleAction.getActions() may expose internal representation by returning ButtonToCycleAction.actions - - At ButtonToCycleAction.java:[lines 32-171] + + At ButtonToCycleAction.java:[lines 32-176] In class de.bwravencl.controllerbuddy.input.action.ButtonToCycleAction - + In method de.bwravencl.controllerbuddy.input.action.ButtonToCycleAction.getActions() @@ -1366,21 +1669,21 @@ Field de.bwravencl.controllerbuddy.input.action.ButtonToCycleAction.actions - - At ButtonToCycleAction.java:[line 106] + + At ButtonToCycleAction.java:[line 111] May expose internal representation by incorporating reference to mutable object de.bwravencl.controllerbuddy.input.action.ButtonToCycleAction.setActions(List) may expose internal representation by storing an externally mutable object into ButtonToCycleAction.actions - - At ButtonToCycleAction.java:[lines 32-171] + + At ButtonToCycleAction.java:[lines 32-176] In class de.bwravencl.controllerbuddy.input.action.ButtonToCycleAction - + In method de.bwravencl.controllerbuddy.input.action.ButtonToCycleAction.setActions(List) @@ -1392,11 +1695,11 @@ Local variable named actions - - At ButtonToCycleAction.java:[line 155] + + At ButtonToCycleAction.java:[line 160] - + Public static method may expose internal representation by returning a mutable object or array Public static de.bwravencl.controllerbuddy.input.action.ButtonToModeAction.getButtonToModeActionStack() may expose internal representation by returning ButtonToModeAction.buttonToModeActionStack @@ -1419,7 +1722,24 @@ At ButtonToModeAction.java:[line 54] - + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At IAction.java:[lines 26-36] + + In class de.bwravencl.controllerbuddy.input.action.IAction + + + + In method de.bwravencl.controllerbuddy.input.action.IAction.getLabel(Class) + + + At IAction.java:[line 33] + + + Field should be moved out of an interface and made package protected de.bwravencl.controllerbuddy.input.action.IAxisToLongPressAction.actionToDownSinceMap should be moved out of an interface and made package protected @@ -1438,7 +1758,7 @@ At IAxisToLongPressAction.java:[line 28] - + Field should be moved out of an interface and made package protected de.bwravencl.controllerbuddy.input.action.IAxisToLongPressAction.actionToMustDenyActivationMap should be moved out of an interface and made package protected @@ -1457,7 +1777,7 @@ At IAxisToLongPressAction.java:[line 29] - + Field should be moved out of an interface and made package protected de.bwravencl.controllerbuddy.input.action.IButtonToAction.actionToDownSinceMap should be moved out of an interface and made package protected @@ -1476,7 +1796,7 @@ At IButtonToAction.java:[line 28] - + Field should be moved out of an interface and made package protected de.bwravencl.controllerbuddy.input.action.IButtonToAction.actionToMustDenyActivationMap should be moved out of an interface and made package protected @@ -1561,72 +1881,6 @@ At EditorBuilder.java:[line 51] - - An overridable method is called from the readObject method. - Overridable method getName is called from readObject. - - - At EditorBuilder.java:[lines 87-99] - - In class de.bwravencl.controllerbuddy.input.action.gui.EditorBuilder$PropertySetterAction - - - - In method de.bwravencl.controllerbuddy.input.action.gui.EditorBuilder$PropertySetterAction.readObject(ObjectInputStream) - - - Value getName - - - At EditorBuilder.java:[line 94] - - - - Field not initialized in constructor but dereferenced without null check - KeystrokeEditorBuilder.keyList not initialized in constructor and dereferenced in de.bwravencl.controllerbuddy.input.action.gui.KeystrokeEditorBuilder.lambda$buildEditor$3(String) - - - At KeystrokeEditorBuilder.java:[lines 54-148] - - In class de.bwravencl.controllerbuddy.input.action.gui.KeystrokeEditorBuilder - - - - In KeystrokeEditorBuilder.java - - Field de.bwravencl.controllerbuddy.input.action.gui.KeystrokeEditorBuilder.keyList - - - - In method de.bwravencl.controllerbuddy.input.action.gui.KeystrokeEditorBuilder.lambda$buildEditor$3(String) - - - At KeystrokeEditorBuilder.java:[line 132] - - - - Field not initialized in constructor but dereferenced without null check - KeystrokeEditorBuilder.modifierList not initialized in constructor and dereferenced in de.bwravencl.controllerbuddy.input.action.gui.KeystrokeEditorBuilder.lambda$buildEditor$1(String) - - - At KeystrokeEditorBuilder.java:[lines 54-148] - - In class de.bwravencl.controllerbuddy.input.action.gui.KeystrokeEditorBuilder - - - - In KeystrokeEditorBuilder.java - - Field de.bwravencl.controllerbuddy.input.action.gui.KeystrokeEditorBuilder.modifierList - - - - In method de.bwravencl.controllerbuddy.input.action.gui.KeystrokeEditorBuilder.lambda$buildEditor$1(String) - - - At KeystrokeEditorBuilder.java:[line 107] - - Field not initialized in constructor but dereferenced without null check NumberEditorBuilder.textField not initialized in constructor and dereferenced in de.bwravencl.controllerbuddy.input.action.gui.ButtonEditorBuilder.buildEditor(JPanel) @@ -1650,37 +1904,54 @@ At ButtonEditorBuilder.java:[line 43] + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At Driver.java:[lines 31-76] + + In class de.bwravencl.controllerbuddy.input.driver.Driver + + + + In method de.bwravencl.controllerbuddy.input.driver.Driver.lambda$static$0(ClassInfo) + + + At Driver.java:[line 39] + + Be wary of letting constructors throw exceptions. Exception thrown in class de.bwravencl.controllerbuddy.input.driver.EvdevDriver at new de.bwravencl.controllerbuddy.input.driver.EvdevDriver(Input, Main$ControllerInfo, EvdevDriver$EvdevInfo) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. - - At EvdevDriver.java:[lines 43-178] + + At EvdevDriver.java:[lines 42-177] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver - + In method new de.bwravencl.controllerbuddy.input.driver.EvdevDriver(Input, Main$ControllerInfo, EvdevDriver$EvdevInfo) - - At EvdevDriver.java:[line 65] + + At EvdevDriver.java:[line 64] - - At EvdevDriver.java:[line 65] + + At EvdevDriver.java:[line 64] Read of unwritten public or protected field Read of unwritten public or protected field replay in de.bwravencl.controllerbuddy.input.driver.EvdevDriver.createRumbleEffect(short) - - At EvdevDriver.java:[lines 43-178] + + At EvdevDriver.java:[lines 42-177] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver - + In method de.bwravencl.controllerbuddy.input.driver.EvdevDriver.createRumbleEffect(short) @@ -1689,21 +1960,21 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.replay - - At EvdevDriver.java:[line 87] + + At EvdevDriver.java:[line 86] Read of unwritten public or protected field Read of unwritten public or protected field u in de.bwravencl.controllerbuddy.input.driver.EvdevDriver.createRumbleEffect(short) - - At EvdevDriver.java:[lines 43-178] + + At EvdevDriver.java:[lines 42-177] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver - + In method de.bwravencl.controllerbuddy.input.driver.EvdevDriver.createRumbleEffect(short) @@ -1712,21 +1983,21 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.u - - At EvdevDriver.java:[line 85] + + At EvdevDriver.java:[line 84] Read of unwritten public or protected field Read of unwritten public or protected field rumble in de.bwravencl.controllerbuddy.input.driver.EvdevDriver.createRumbleEffect(short) - - At EvdevDriver.java:[lines 43-178] + + At EvdevDriver.java:[lines 42-177] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver - + In method de.bwravencl.controllerbuddy.input.driver.EvdevDriver.createRumbleEffect(short) @@ -1735,16 +2006,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.rumble - - At EvdevDriver.java:[line 85] + + At EvdevDriver.java:[line 84] Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect.center - - At EvdevDriver.java:[line 287] + + At EvdevDriver.java:[line 299] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect @@ -1762,8 +2033,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect.deadband - - At EvdevDriver.java:[line 287] + + At EvdevDriver.java:[line 299] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect @@ -1781,8 +2052,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect.left_coeff - - At EvdevDriver.java:[line 287] + + At EvdevDriver.java:[line 299] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect @@ -1800,8 +2071,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect.left_saturation - - At EvdevDriver.java:[line 287] + + At EvdevDriver.java:[line 299] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect @@ -1819,8 +2090,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect.right_coeff - - At EvdevDriver.java:[line 287] + + At EvdevDriver.java:[line 299] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect @@ -1838,8 +2109,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect.right_saturation - - At EvdevDriver.java:[line 287] + + At EvdevDriver.java:[line 299] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_condition_effect @@ -1857,8 +2128,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_constant_effect.envelope - - At EvdevDriver.java:[line 299] + + At EvdevDriver.java:[line 311] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_constant_effect @@ -1876,8 +2147,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_constant_effect.level - - At EvdevDriver.java:[line 299] + + At EvdevDriver.java:[line 311] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_constant_effect @@ -1895,13 +2166,13 @@ Read of unwritten public or protected field Read of unwritten public or protected field u in de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() - - At EvdevDriver.java:[lines 307-330] + + At EvdevDriver.java:[lines 319-342] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect - + In method de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() @@ -1910,33 +2181,33 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.u - - At EvdevDriver.java:[line 322] + + At EvdevDriver.java:[line 334] - - Another occurrence at EvdevDriver.java:[line 324] + + Another occurrence at EvdevDriver.java:[line 336] - - Another occurrence at EvdevDriver.java:[line 321] + + Another occurrence at EvdevDriver.java:[line 333] - - Another occurrence at EvdevDriver.java:[line 323] + + Another occurrence at EvdevDriver.java:[line 335] - - Another occurrence at EvdevDriver.java:[line 325] + + Another occurrence at EvdevDriver.java:[line 337] Read of unwritten public or protected field Read of unwritten public or protected field constant in de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() - - At EvdevDriver.java:[lines 307-330] + + At EvdevDriver.java:[lines 319-342] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect - + In method de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() @@ -1945,21 +2216,21 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.constant - - At EvdevDriver.java:[line 323] + + At EvdevDriver.java:[line 335] Read of unwritten public or protected field Read of unwritten public or protected field periodic in de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() - - At EvdevDriver.java:[lines 307-330] + + At EvdevDriver.java:[lines 319-342] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect - + In method de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() @@ -1968,21 +2239,21 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.periodic - - At EvdevDriver.java:[line 322] + + At EvdevDriver.java:[line 334] Read of unwritten public or protected field Read of unwritten public or protected field ramp in de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() - - At EvdevDriver.java:[lines 307-330] + + At EvdevDriver.java:[lines 319-342] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect - + In method de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() @@ -1991,21 +2262,21 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.ramp - - At EvdevDriver.java:[line 325] + + At EvdevDriver.java:[line 337] Read of unwritten public or protected field Read of unwritten public or protected field rumble in de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() - - At EvdevDriver.java:[lines 307-330] + + At EvdevDriver.java:[lines 319-342] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect - + In method de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.read() @@ -2014,16 +2285,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.rumble - - At EvdevDriver.java:[line 321] + + At EvdevDriver.java:[line 333] Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.direction - - At EvdevDriver.java:[lines 307-330] + + At EvdevDriver.java:[lines 319-342] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect @@ -2041,8 +2312,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.trigger - - At EvdevDriver.java:[lines 307-330] + + At EvdevDriver.java:[lines 319-342] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect @@ -2060,8 +2331,8 @@ Unwritten public or protected field Unwritten public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.replay - - At EvdevDriver.java:[lines 307-330] + + At EvdevDriver.java:[lines 319-342] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect @@ -2071,16 +2342,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.replay - - At EvdevDriver.java:[line 87] + + At EvdevDriver.java:[line 86] Unwritten public or protected field Unwritten public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.u - - At EvdevDriver.java:[lines 307-330] + + At EvdevDriver.java:[lines 319-342] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect @@ -2090,16 +2361,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect.u - - At EvdevDriver.java:[line 85] + + At EvdevDriver.java:[line 84] Unwritten public or protected field Unwritten public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.constant - - At EvdevDriver.java:[lines 334-341] + + At EvdevDriver.java:[lines 346-353] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U @@ -2109,16 +2380,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.constant - - At EvdevDriver.java:[line 323] + + At EvdevDriver.java:[line 335] Unwritten public or protected field Unwritten public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.periodic - - At EvdevDriver.java:[lines 334-341] + + At EvdevDriver.java:[lines 346-353] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U @@ -2128,16 +2399,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.periodic - - At EvdevDriver.java:[line 322] + + At EvdevDriver.java:[line 334] Unwritten public or protected field Unwritten public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.ramp - - At EvdevDriver.java:[lines 334-341] + + At EvdevDriver.java:[lines 346-353] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U @@ -2147,16 +2418,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.ramp - - At EvdevDriver.java:[line 325] + + At EvdevDriver.java:[line 337] Unwritten public or protected field Unwritten public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.rumble - - At EvdevDriver.java:[lines 334-341] + + At EvdevDriver.java:[lines 346-353] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U @@ -2166,16 +2437,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_effect$U.rumble - - At EvdevDriver.java:[line 85] + + At EvdevDriver.java:[line 84] Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_envelope.attack_length - - At EvdevDriver.java:[line 347] + + At EvdevDriver.java:[line 359] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_envelope @@ -2193,8 +2464,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_envelope.attack_level - - At EvdevDriver.java:[line 347] + + At EvdevDriver.java:[line 359] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_envelope @@ -2212,8 +2483,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_envelope.fade_length - - At EvdevDriver.java:[line 347] + + At EvdevDriver.java:[line 359] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_envelope @@ -2231,8 +2502,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_envelope.fade_level - - At EvdevDriver.java:[line 347] + + At EvdevDriver.java:[line 359] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_envelope @@ -2250,8 +2521,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect.custom_data - - At EvdevDriver.java:[line 357] + + At EvdevDriver.java:[line 369] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect @@ -2269,8 +2540,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect.custom_len - - At EvdevDriver.java:[line 357] + + At EvdevDriver.java:[line 369] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect @@ -2288,8 +2559,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect.envelope - - At EvdevDriver.java:[line 357] + + At EvdevDriver.java:[line 369] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect @@ -2307,8 +2578,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect.magnitude - - At EvdevDriver.java:[line 357] + + At EvdevDriver.java:[line 369] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect @@ -2326,8 +2597,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect.offset - - At EvdevDriver.java:[line 357] + + At EvdevDriver.java:[line 369] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect @@ -2345,8 +2616,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect.period - - At EvdevDriver.java:[line 357] + + At EvdevDriver.java:[line 369] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect @@ -2364,8 +2635,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect.phase - - At EvdevDriver.java:[line 357] + + At EvdevDriver.java:[line 369] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect @@ -2383,8 +2654,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect.waveform - - At EvdevDriver.java:[line 357] + + At EvdevDriver.java:[line 369] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_periodic_effect @@ -2402,8 +2673,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_ramp_effect.end_level - - At EvdevDriver.java:[line 371] + + At EvdevDriver.java:[line 383] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_ramp_effect @@ -2421,8 +2692,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_ramp_effect.envelope - - At EvdevDriver.java:[line 371] + + At EvdevDriver.java:[line 383] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_ramp_effect @@ -2440,8 +2711,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_ramp_effect.start_level - - At EvdevDriver.java:[line 371] + + At EvdevDriver.java:[line 383] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_ramp_effect @@ -2459,8 +2730,8 @@ Unread public/protected field Unread public/protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_replay.length - - At EvdevDriver.java:[line 380] + + At EvdevDriver.java:[line 392] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_replay @@ -2470,16 +2741,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_replay.length - - At EvdevDriver.java:[line 87] + + At EvdevDriver.java:[line 86] Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_replay.delay - - At EvdevDriver.java:[line 380] + + At EvdevDriver.java:[line 392] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_replay @@ -2497,8 +2768,8 @@ Unread public/protected field Unread public/protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_rumble_effect.strong_magnitude - - At EvdevDriver.java:[line 388] + + At EvdevDriver.java:[line 400] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_rumble_effect @@ -2508,16 +2779,16 @@ Field de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_rumble_effect.strong_magnitude - - At EvdevDriver.java:[line 86] + + At EvdevDriver.java:[line 85] Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_rumble_effect.weak_magnitude - - At EvdevDriver.java:[line 388] + + At EvdevDriver.java:[line 400] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_rumble_effect @@ -2535,8 +2806,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_trigger.button - - At EvdevDriver.java:[line 396] + + At EvdevDriver.java:[line 408] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_trigger @@ -2554,8 +2825,8 @@ Unused public or protected field Unused public or protected field: de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_trigger.interval - - At EvdevDriver.java:[line 396] + + At EvdevDriver.java:[line 408] In class de.bwravencl.controllerbuddy.input.driver.EvdevDriver$ff_trigger @@ -2708,33 +2979,72 @@ At ScanCodeAdapter.java:[line 37] - - Field not initialized in constructor but dereferenced without null check - ClientRunMode.clientSocket not initialized in constructor and dereferenced in de.bwravencl.controllerbuddy.runmode.ClientRunMode.readInput() + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. - - At ClientRunMode.java:[lines 55-353] + + At ClientRunMode.java:[lines 60-417] In class de.bwravencl.controllerbuddy.runmode.ClientRunMode - - - In ClientRunMode.java + + + In method new de.bwravencl.controllerbuddy.runmode.ClientRunMode(Main, Input) + + + At ClientRunMode.java:[line 88] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At ClientRunMode.java:[lines 60-417] - Field de.bwravencl.controllerbuddy.runmode.ClientRunMode.clientSocket - + In class de.bwravencl.controllerbuddy.runmode.ClientRunMode + - + In method de.bwravencl.controllerbuddy.runmode.ClientRunMode.readInput() - - At ClientRunMode.java:[line 113] + + At ClientRunMode.java:[line 330] - - Another occurrence at ClientRunMode.java:[line 180] + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At OutputRunMode.java:[lines 80-951] + + In class de.bwravencl.controllerbuddy.runmode.OutputRunMode + + + + In method de.bwravencl.controllerbuddy.runmode.OutputRunMode.lambda$init$21(LockKey) + + + At OutputRunMode.java:[line 617] - - Another occurrence at ClientRunMode.java:[line 271] + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At OutputRunMode.java:[lines 80-951] + + In class de.bwravencl.controllerbuddy.runmode.OutputRunMode + + + + In method de.bwravencl.controllerbuddy.runmode.OutputRunMode.writeOutput() + + + At OutputRunMode.java:[line 946] @@ -2753,11 +3063,11 @@ Field de.bwravencl.controllerbuddy.runmode.OutputRunMode.buttons - + In method de.bwravencl.controllerbuddy.runmode.ClientRunMode.readInput() - - At ClientRunMode.java:[line 222] + + At ClientRunMode.java:[line 274] @@ -2830,8 +3140,8 @@ An overridable method is called from a constructor Overridable method setRunMode is called from constructor new de.bwravencl.controllerbuddy.runmode.RunMode(Main, Input). - - At RunMode.java:[lines 30-94] + + At RunMode.java:[lines 30-98] In class de.bwravencl.controllerbuddy.runmode.RunMode @@ -2846,27 +3156,55 @@ At RunMode.java:[line 44] - - Field not initialized in constructor but dereferenced without null check - ServerRunMode.clientAddress not initialized in constructor and dereferenced in de.bwravencl.controllerbuddy.runmode.ServerRunMode.lambda$run$1(int) + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. - - At ServerRunMode.java:[lines 51-262] + + At ServerRunMode.java:[lines 66-318] In class de.bwravencl.controllerbuddy.runmode.ServerRunMode - - - In ServerRunMode.java + + + In method new de.bwravencl.controllerbuddy.runmode.ServerRunMode(Main, Input) + + + At ServerRunMode.java:[line 90] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At ServerRunMode.java:[lines 66-318] - Field de.bwravencl.controllerbuddy.runmode.ServerRunMode.clientAddress - - - - In method de.bwravencl.controllerbuddy.runmode.ServerRunMode.lambda$run$1(int) + In class de.bwravencl.controllerbuddy.runmode.ServerRunMode + + + + In method de.bwravencl.controllerbuddy.runmode.ServerRunMode.deriveKey(Main, byte[]) - - At ServerRunMode.java:[line 132] + + At ServerRunMode.java:[line 102] + + + + Method intentionally throws RuntimeException. + Method intentionally throws RuntimeException. + + + At ServerRunMode.java:[lines 66-318] + + In class de.bwravencl.controllerbuddy.runmode.ServerRunMode + + + + In method de.bwravencl.controllerbuddy.runmode.ServerRunMode.sendEncrypted(ByteArrayOutputStream, int) + + + At ServerRunMode.java:[line 316] @@ -3313,16 +3651,6 @@ consider removing it from the class.

]]> - - Method invoked that should be only be invoked inside a doPrivileged block -
This code invokes a method that requires a security permission check. - If this code will be granted security permissions, but might be invoked by code that does not - have security permissions, then the invocation needs to occur inside a doPrivileged block.

- - ]]>
-
Read of unwritten public or protected field
+ + Method intentionally throws RuntimeException. +
+ Method intentionally throws RuntimeException.
+ + According to the SEI CERT ERR07-J rule, + throwing a RuntimeException may cause errors, like the caller not being able to examine the exception and therefore cannot properly recover from it.
+ + Moreover, throwing a RuntimeException would force the caller to catch RuntimeException and therefore violate the + SEI CERT ERR08-J rule.
+ + Please note that you can derive from Exception or RuntimeException and may throw a new instance of that exception. +

+ ]]>
+
Switch statement found where one case falls through to the next case
- - An overridable method is called from the readObject method. -
- The readObject() method must not call any overridable methods. Invoking overridable methods from the readObject() - method can provide the overriding method with access to the object's state before it is fully initialized. This - premature access is possible because, in deserialization, readObject plays the role of object constructor and - therefore object initialization is not complete until readObject exits.

-

-
- See SEI CERT rule - SER09-J. Do not invoke overridable methods from the readObject() method. -

- ]]>
-
Be wary of letting constructors throw exceptions.
- - Random object created and used only once -
This code creates a java.util.Random object, uses it to generate one random number, and then discards -the Random object. This produces mediocre quality random numbers and is inefficient. -If possible, rewrite the code so that the Random object is created once and saved, and each time a new random number -is required invoke a method on the existing Random object to obtain it. -

- -

If it is important that the generated Random numbers not be guessable, you must not create a new Random for each random -number; the values are too easily guessable. You should strongly consider using a java.security.SecureRandom instead -(and avoid allocating a new SecureRandom for each random number needed). -

- - ]]>
-
An overridable method is called from a constructor
Bad casts of object references - - Dubious method invocation - Null pointer dereference @@ -3548,7 +3858,7 @@ defined in an interface references a mutable Unwritten field - + Mutable static field @@ -3560,9 +3870,6 @@ defined in an interface references a mutable Dubious method used - - Use doPrivileged - Storing reference to mutable object @@ -3575,6 +3882,9 @@ defined in an interface references a mutable Dangerous call to overridable method + + Exception throwing related problems + Confusing method name @@ -3586,45 +3896,46 @@ defined in an interface references a mutable edu.umd.cs.findbugs.SortedBugCollection.readXML(SortedBugCollection.java:260) edu.umd.cs.findbugs.ExcludingHashesBugReporter.addToExcludedInstanceHashes(ExcludingHashesBugReporter.java:57) edu.umd.cs.findbugs.ExcludingHashesBugReporter.<init>(ExcludingHashesBugReporter.java:44) - edu.umd.cs.findbugs.FindBugs.configureBaselineFilter(FindBugs.java:488) + edu.umd.cs.findbugs.FindBugs.configureBaselineFilter(FindBugs.java:492) edu.umd.cs.findbugs.FindBugs2.excludeBaselineBugs(FindBugs2.java:409) edu.umd.cs.findbugs.FindBugs2.configureFilters(FindBugs2.java:516) edu.umd.cs.findbugs.FindBugs2.setUserPreferences(FindBugs2.java:505) - edu.umd.cs.findbugs.TextUICommandLine.configureEngine(TextUICommandLine.java:758) - edu.umd.cs.findbugs.FindBugs.processCommandLine(FindBugs.java:359) - edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1221) + edu.umd.cs.findbugs.TextUICommandLine.configureEngine(TextUICommandLine.java:723) + edu.umd.cs.findbugs.FindBugs.processCommandLine(FindBugs.java:363) + edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1213) - + - - - - - + + + + + - + + - - + - + + - + - + - +