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)
-
+
-
-
-
-
-
+
+
+
+
+
-
+
+
-
-
+
-
+
+
-
+
-
+
-
+