diff --git a/spotbugs-baseline.xml b/spotbugs-baseline.xml
index bdd81ff8..470c99d3 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
@@ -239,13 +239,13 @@
C:\Users\matteo\.gradle\caches\modules-2\files-2.1\com.formdev\flatlaf\3.5.1\8e4295f9ba5756736fa60a3a567fd9cd8840594f\flatlaf-3.5.1.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.10\transforms\513ad76d1863323066fedea4dd052366\transformed\hid4java-0.8.0-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\ec3e3bf84fc61eef1715bb4aee6b198f\transformed\JXInput-1.0.1-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\438f0e6992b50187a257ee734efed2e7\transformed\hid4java-0.8.0-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\33a363ff24674799c968b53984a99595\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.174\d86b16ab77abd87118b51e6a2c61e2d44ce6deaa\classgraph-4.8.174.jar
- C:\Users\matteo\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-platform-jpms\5.14.0\24fde384a42c2c75c46116edda48895e5763fc85\jna-platform-jpms-5.14.0.jar
- C:\Users\matteo\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-jpms\5.14.0\9513388696e34db7c9b564aaec0ccbd7395e9389\jna-jpms-5.14.0.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\47f736d99fae04b1631c8e853a7f2033\transformed\batik-swing-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\modules-2\files-2.1\io.github.classgraph\classgraph\4.8.177\16a989307ba5123d159f4d307f95a2f1752f41be\classgraph-4.8.177.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\8.10.2\transforms\1ec3dd6a35823c26d70bd679ed8b59f6\transformed\batik-swing-1.17-module.jar
C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.3.4\7e46ecdec85db8738053cfde1414352cd62dab74\lwjgl-glfw-3.3.4.jar
C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-glfw\3.3.4\370ef92d15819a123c643dd2b0fc3a2d40bb263c\lwjgl-glfw-3.3.4-natives-windows.jar
C:\Users\matteo\.gradle\caches\modules-2\files-2.1\org.lwjgl\lwjgl-opengl\3.3.4\2852ac7d9f6fc71349f1ce28e2708ff1977f18af\lwjgl-opengl-3.3.4.jar
@@ -257,27 +257,27 @@
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
- C:\Users\matteo\.gradle\caches\8.10\transforms\1405b6c4c3004563095831d59f8fb024\transformed\batik-bridge-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\9ecf8c35c947814d892197c3a80cb64a\transformed\batik-script-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\116373949611f3079496fa3cf95c5e2f\transformed\batik-anim-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\d9d2110885f56145486586849fcf35dc\transformed\batik-gvt-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\e44fb9c96178b0a23b93d51b265792da\transformed\batik-svg-dom-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\aed74ee796ec0592d66817536f260bec\transformed\batik-parser-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\b13b1835af7a9dd6c531e9c1b240f8fe\transformed\batik-awt-util-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\15f22dc6be297826d54544754c880f04\transformed\batik-dom-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\9cbf3c6e612afb7bef1c48293dd9954e\transformed\batik-css-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\b502d56b8a2e27760aab0fd4197da2d2\transformed\batik-ext-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\97202f57bed1eeec341c4fa4d1e6a22e\transformed\batik-gui-util-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\0ac6b76ecf35ba85d3825d279828fc1d\transformed\batik-xml-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\ced253ebedd1a8d58c22dd340d6e2904\transformed\batik-util-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\892d20711f2fa6b7f8e8dcc378560cea\transformed\batik-constants-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\932c80c4798fd593873dd57cc3c98a2d\transformed\batik-i18n-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\8fda2d61185a5487e38a41b59b79f2b1\transformed\batik-shared-resources-1.17-module.jar
- C:\Users\matteo\.gradle\caches\8.10\transforms\df4689e23d08992057c6ff0348746881\transformed\xml-apis-ext-1.3.04-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\6ebca49844c0fd9f13348d5ed59056a1\transformed\batik-bridge-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\bb2be32b0f105abbca9afe5a9ed0db7b\transformed\batik-script-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\6fa66d0682318c0723b97063e409a5b0\transformed\batik-anim-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\0400df562520acb889029f15f76bc739\transformed\batik-gvt-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\ec964a9901a447ca21e92f74b1bdea7d\transformed\batik-svg-dom-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\340a23bb44df886ada401d6e83184963\transformed\batik-parser-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\b2c0a3b002e6add4baf572aa971de72e\transformed\batik-awt-util-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\ac02e4dab660a5d52ff6e72e31e0d1d5\transformed\batik-dom-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\29033ee4280f971281fc1fa6ed9be3c6\transformed\batik-css-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\19e1091ceec09a8ed4be08aba3ad5598\transformed\batik-ext-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\6ad8f443b650401b344abf71131d48b2\transformed\batik-gui-util-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\d8f6ce34a752ceacd08f5f6bcbb39cb0\transformed\batik-xml-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\a01cb12a63500316d7c206cbce6283e9\transformed\batik-util-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\394679b356f497887ce08066b30767ee\transformed\batik-constants-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\37fdcb5df411ef1a6d6a647c725dbb8d\transformed\batik-i18n-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\4409b9074144d1c1ca9266a583061dc0\transformed\batik-shared-resources-1.17-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\e448f02c5a1edb15ecb0e07363c309da\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.10\transforms\1400806bb79b720902c8f139483e39ba\transformed\xmlgraphics-commons-2.9-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\1d6fcd9191b83cf0386f6aa656da24be\transformed\xmlgraphics-commons-2.9-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.10\transforms\e8e248c1e1df5315a0d189361402af78\transformed\commons-logging-1.0.4-module.jar
+ C:\Users\matteo\.gradle\caches\8.10.2\transforms\3794eeb86f2588e30f12b342c1c3ef93\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 +349,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-598]
+
+ At EditActionsDialog.java:[lines 80-601]
In class de.bwravencl.controllerbuddy.gui.EditActionsDialog
-
+
In method de.bwravencl.controllerbuddy.gui.EditActionsDialog.getInput()
@@ -364,21 +364,21 @@
Field de.bwravencl.controllerbuddy.gui.EditActionsDialog.input
-
- At EditActionsDialog.java:[line 392]
+
+ At EditActionsDialog.java:[line 395]
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-598]
+
+ At EditActionsDialog.java:[lines 80-601]
In class de.bwravencl.controllerbuddy.gui.EditActionsDialog
-
+
In method new de.bwravencl.controllerbuddy.gui.EditActionsDialog(EditActionsDialog, ButtonToCycleAction)
@@ -387,100 +387,100 @@
Field de.bwravencl.controllerbuddy.gui.EditActionsDialog.cycleAction
-
+
Local variable named cycleAction
-
- At EditActionsDialog.java:[line 170]
+
+ At EditActionsDialog.java:[line 172]
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 221-3431]
+
+ At Main.java:[lines 222-3425]
In class de.bwravencl.controllerbuddy.gui.Main
-
+
In method de.bwravencl.controllerbuddy.gui.Main.lambda$new$2()
-
+
Called method java.security.SecureRandom.nextInt()
-
- At Main.java:[line 445]
+
+ At Main.java:[line 446]
Method invokes System.exit(...)
de.bwravencl.controllerbuddy.gui.Main.terminate(int) invokes System.exit(...), which shuts down the entire virtual machine
-
- At Main.java:[lines 221-3431]
+
+ At Main.java:[lines 222-3425]
In class de.bwravencl.controllerbuddy.gui.Main
-
+
In method de.bwravencl.controllerbuddy.gui.Main.terminate(int)
-
- At Main.java:[line 1371]
+
+ At Main.java:[line 1372]
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 221-3431]
+
+ At Main.java:[lines 222-3425]
In class de.bwravencl.controllerbuddy.gui.Main
-
+
In method de.bwravencl.controllerbuddy.gui.Main.stopAll(boolean, boolean, boolean)
-
- At Main.java:[line 2694]
+
+ At Main.java:[line 2689]
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 221-3431]
+
+ At Main.java:[lines 222-3425]
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 3378]
+
+ At Main.java:[line 3372]
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 221-3431]
+
+ At Main.java:[lines 222-3425]
In class de.bwravencl.controllerbuddy.gui.Main
-
+
In method de.bwravencl.controllerbuddy.gui.Main.getFrame()
@@ -489,21 +489,21 @@
Field de.bwravencl.controllerbuddy.gui.Main.frame
-
- At Main.java:[line 1655]
+
+ At Main.java:[line 1656]
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 221-3431]
+
+ At Main.java:[lines 222-3425]
In class de.bwravencl.controllerbuddy.gui.Main
-
+
In method de.bwravencl.controllerbuddy.gui.Main.getOnScreenKeyboard()
@@ -512,21 +512,21 @@
Field de.bwravencl.controllerbuddy.gui.Main.onScreenKeyboard
-
- At Main.java:[line 1667]
+
+ At Main.java:[line 1668]
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 221-3431]
+
+ At Main.java:[lines 222-3425]
In class de.bwravencl.controllerbuddy.gui.Main
-
+
In method de.bwravencl.controllerbuddy.gui.Main.getPreferences()
@@ -535,102 +535,102 @@
Field de.bwravencl.controllerbuddy.gui.Main.preferences
-
- At Main.java:[line 1688]
+
+ At Main.java:[line 1689]
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 3481-3503]
+
+ At Main.java:[lines 3475-3497]
In class de.bwravencl.controllerbuddy.gui.Main$AbstractProfileFileChooser
-
+
In method de.bwravencl.controllerbuddy.gui.Main$AbstractProfileFileChooser.approveSelection()
-
- At Main.java:[lines 3495-3497]
+
+ At Main.java:[lines 3489-3491]
Naked notify
Naked notify in de.bwravencl.controllerbuddy.gui.Main$TaskRunner.enterLoop()
-
- At Main.java:[lines 3661-3786]
+
+ At Main.java:[lines 3655-3780]
In class de.bwravencl.controllerbuddy.gui.Main$TaskRunner
-
+
In method de.bwravencl.controllerbuddy.gui.Main$TaskRunner.enterLoop()
-
- At Main.java:[line 3697]
+
+ At Main.java:[line 3691]
An overridable method is called from the readObject method.
Overridable method getName is called from readObject.
-
- At OnScreenKeyboard.java:[lines 513-568]
+
+ At OnScreenKeyboard.java:[lines 511-565]
In class de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$AbstractKeyboardButton
-
+
In method de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$AbstractKeyboardButton.readObject(ObjectInputStream)
Value getName
-
- At OnScreenKeyboard.java:[line 530]
+
+ At OnScreenKeyboard.java:[line 528]
An overridable method is called from a constructor
Overridable method getText is called from constructor new de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$DualPurposeKeyboardButton(OnScreenKeyboard, String, String).
-
- At OnScreenKeyboard.java:[lines 781-790]
+
+ At OnScreenKeyboard.java:[lines 778-787]
In class de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$DualPurposeKeyboardButton
-
+
In method new de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$DualPurposeKeyboardButton(OnScreenKeyboard, String, String)
Value getText
-
- At OnScreenKeyboard.java:[line 784]
+
+ At OnScreenKeyboard.java:[line 781]
An overridable method is called from a constructor
Overridable method toggleLock is called from constructor new de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$LockKeyButton(OnScreenKeyboard, LockKey).
-
- At OnScreenKeyboard.java:[lines 798-867]
+
+ At OnScreenKeyboard.java:[lines 795-864]
In class de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$LockKeyButton
-
+
In method new de.bwravencl.controllerbuddy.gui.OnScreenKeyboard$LockKeyButton(OnScreenKeyboard, LockKey)
Value toggleLock
-
- At OnScreenKeyboard.java:[line 809]
+
+ At OnScreenKeyboard.java:[line 806]
@@ -657,13 +657,13 @@
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getAxes()
@@ -672,21 +672,21 @@
Field de.bwravencl.controllerbuddy.input.Input.axes
-
- At Input.java:[line 189]
+
+ At Input.java:[line 186]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getButtons()
@@ -695,21 +695,21 @@
Field de.bwravencl.controllerbuddy.input.Input.buttons
-
- At Input.java:[line 193]
+
+ At Input.java:[line 190]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getDownKeyStrokes()
@@ -718,21 +718,21 @@
Field de.bwravencl.controllerbuddy.input.Input.downKeyStrokes
-
- At Input.java:[line 209]
+
+ At Input.java:[line 206]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getDownMouseButtons()
@@ -741,21 +741,21 @@
Field de.bwravencl.controllerbuddy.input.Input.downMouseButtons
-
- At Input.java:[line 213]
+
+ At Input.java:[line 210]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getDownUpKeyStrokes()
@@ -764,21 +764,21 @@
Field de.bwravencl.controllerbuddy.input.Input.downUpKeyStrokes
-
- At Input.java:[line 217]
+
+ At Input.java:[line 214]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getDownUpMouseButtons()
@@ -787,21 +787,21 @@
Field de.bwravencl.controllerbuddy.input.Input.downUpMouseButtons
-
- At Input.java:[line 221]
+
+ At Input.java:[line 218]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getMain()
@@ -810,21 +810,21 @@
Field de.bwravencl.controllerbuddy.input.Input.main
-
- At Input.java:[line 229]
+
+ At Input.java:[line 226]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getOffLockKeys()
@@ -833,21 +833,21 @@
Field de.bwravencl.controllerbuddy.input.Input.offLockKeys
-
- At Input.java:[line 233]
+
+ At Input.java:[line 230]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getOnLockKeys()
@@ -856,21 +856,21 @@
Field de.bwravencl.controllerbuddy.input.Input.onLockKeys
-
- At Input.java:[line 237]
+
+ At Input.java:[line 234]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getProfile()
@@ -879,21 +879,21 @@
Field de.bwravencl.controllerbuddy.input.Input.profile
-
- At Input.java:[line 245]
+
+ At Input.java:[line 242]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.getRunMode()
@@ -902,21 +902,21 @@
Field de.bwravencl.controllerbuddy.input.Input.runMode
-
- At Input.java:[line 253]
+
+ At Input.java:[line 250]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method new de.bwravencl.controllerbuddy.input.Input(Main, Main$ControllerInfo, EnumMap)
@@ -928,21 +928,21 @@
Local variable named axes
-
- At Input.java:[line 103]
+
+ At Input.java:[line 100]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method new de.bwravencl.controllerbuddy.input.Input(Main, Main$ControllerInfo, EnumMap)
@@ -954,21 +954,21 @@
Local variable named main
-
- At Input.java:[line 97]
+
+ At Input.java:[line 94]
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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.setProfile(Profile)
@@ -980,21 +980,21 @@
Local variable named profile
-
- At Input.java:[line 730]
+
+ 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-744]
+
+ At Input.java:[lines 50-741]
In class de.bwravencl.controllerbuddy.input.Input
-
+
In method de.bwravencl.controllerbuddy.input.Input.setRunMode(RunMode)
@@ -1006,8 +1006,8 @@
Local variable named runMode
-
- At Input.java:[line 735]
+
+ At Input.java:[line 732]
@@ -2775,8 +2775,8 @@
Field not initialized in constructor but dereferenced without null check
OutputRunMode.buttons not initialized in constructor and dereferenced in de.bwravencl.controllerbuddy.runmode.ClientRunMode.readInput()
-
- At OutputRunMode.java:[lines 80-966]
+
+ At OutputRunMode.java:[lines 80-969]
In class de.bwravencl.controllerbuddy.runmode.OutputRunMode
@@ -2798,8 +2798,8 @@
Field not initialized in constructor but dereferenced without null check
OutputRunMode.buttons not initialized in constructor and dereferenced in de.bwravencl.controllerbuddy.runmode.LocalRunMode.readInput()
-
- At OutputRunMode.java:[lines 80-966]
+
+ At OutputRunMode.java:[lines 80-969]
In class de.bwravencl.controllerbuddy.runmode.OutputRunMode
@@ -2821,8 +2821,8 @@
Field not initialized in constructor but dereferenced without null check
OutputRunMode.buttons not initialized in constructor and dereferenced in de.bwravencl.controllerbuddy.runmode.OutputRunMode.writeOutput()
-
- At OutputRunMode.java:[lines 80-966]
+
+ At OutputRunMode.java:[lines 80-969]
In class de.bwravencl.controllerbuddy.runmode.OutputRunMode
@@ -2833,31 +2833,31 @@
Field de.bwravencl.controllerbuddy.runmode.OutputRunMode.buttons
-
+
In method de.bwravencl.controllerbuddy.runmode.OutputRunMode.writeOutput()
-
- At OutputRunMode.java:[line 818]
+
+ At OutputRunMode.java:[line 821]
Be wary of letting constructors throw exceptions.
Exception thrown in class de.bwravencl.controllerbuddy.runmode.OutputRunMode$DeviceValue at new de.bwravencl.controllerbuddy.runmode.OutputRunMode$DeviceValue(Class) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks.
-
- At OutputRunMode.java:[lines 988-1027]
+
+ At OutputRunMode.java:[lines 991-1030]
In class de.bwravencl.controllerbuddy.runmode.OutputRunMode$DeviceValue
-
+
In method new de.bwravencl.controllerbuddy.runmode.OutputRunMode$DeviceValue(Class)
-
- At OutputRunMode.java:[line 991]
+
+ At OutputRunMode.java:[line 994]
-
- At OutputRunMode.java:[line 991]
+
+ At OutputRunMode.java:[line 994]
@@ -2903,6 +2903,397 @@
At ServerRunMode.java:[line 130]
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.AcquireVJD(WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.AcquireVJD(WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.DriverMatch(WinDef$WORDByReference, WinDef$WORDByReference) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.DriverMatch(WinDef$WORDByReference, WinDef$WORDByReference)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDAxisExist(WinDef$UINT, WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDAxisExist(WinDef$UINT, WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDAxisMax(WinDef$UINT, WinDef$UINT, WinDef$LONGByReference) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDAxisMax(WinDef$UINT, WinDef$UINT, WinDef$LONGByReference)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDAxisMin(WinDef$UINT, WinDef$UINT, WinDef$LONGByReference) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDAxisMin(WinDef$UINT, WinDef$UINT, WinDef$LONGByReference)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDButtonNumber(WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDButtonNumber(WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDContPovNumber(WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDContPovNumber(WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDDiscPovNumber(WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDDiscPovNumber(WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDStatus(WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetVJDStatus(WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetvJoyManufacturerString() doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetvJoyManufacturerString()
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetvJoyProductString() doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetvJoyProductString()
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetvJoySerialNumberString() doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetvJoySerialNumberString()
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetvJoyVersion() doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.GetvJoyVersion()
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.RelinquishVJD(WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.RelinquishVJD(WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.ResetAll() doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.ResetAll()
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.ResetButtons(WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.ResetButtons(WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.ResetPovs(WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.ResetPovs(WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.ResetVJD(WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.ResetVJD(WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.SetAxis(WinDef$LONG, WinDef$UINT, WinDef$UINT) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.SetAxis(WinDef$LONG, WinDef$UINT, WinDef$UINT)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.SetBtn(WinDef$BOOL, WinDef$UINT, WinDef$UCHAR) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.SetBtn(WinDef$BOOL, WinDef$UINT, WinDef$UCHAR)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.SetContPov(WinDef$DWORD, WinDef$UINT, WinDef$UCHAR) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.SetContPov(WinDef$DWORD, WinDef$UINT, WinDef$UCHAR)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.SetDiscPov(int, WinDef$UINT, WinDef$UCHAR) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.SetDiscPov(int, WinDef$UINT, WinDef$UCHAR)
+
+
+ In VjoyInterface.java
+
+
+
+ Method names should start with a lower case letter
+ The method name de.bwravencl.controllerbuddy.runmode.VjoyInterface.UpdateVJD(WinDef$UINT, WinDef$PVOID) doesn't start with a lower case letter
+
+
+ At VjoyInterface.java:[lines 31-104]
+
+ In class de.bwravencl.controllerbuddy.runmode.VjoyInterface
+
+
+
+ In method de.bwravencl.controllerbuddy.runmode.VjoyInterface.UpdateVJD(WinDef$UINT, WinDef$PVOID)
+
+
+ In VjoyInterface.java
+
+
Bad practice
@@ -3007,6 +3398,16 @@ value. Check for errors (should it have been initialized?), or remove it if it i
]]>
+
+ Method names should start with a lower case letter
+
+Methods should be verbs, in mixed case with the first letter lowercase, with the first letter of each internal word capitalized.
+
+
+ ]]>
+
Unchecked/unconfirmed cast
Prefer zero length arrays to null to indicate no results
+
+ Confusing method name
+
Unable to read filter: C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\spotbugs-baseline.xml : Failing reading C:\Users\matteo\Projekte\ControllerBuddy\ControllerBuddy\spotbugs-baseline.xml
@@ -3245,13 +3649,13 @@ defined in an interface references a mutable
edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1221)
-
+
-
-
-
+
+
+
-
+
@@ -3274,9 +3678,10 @@ defined in an interface references a mutable
-
+
+