PMD Results

The following document contains the results of PMD 7.17.0.

Violations By Priority

Priority 3

de/spiritscorp/datasync/Main.java

Rule Violation Line
CommentSize Comment is too large: Too many lines 225
AssignmentInOperand Avoid assignment to firstStart in operand 196
AssignmentInOperand Avoid assignment to debug in operand 199

de/spiritscorp/datasync/controller/BgController.java

Rule Violation Line
CommentRequired Field comments are required 58
CommentRequired Field comments are required 59
UseUnderscoresInNumericLiterals Number 30000 should separate every third digit with an underscore 59
CommentRequired Field comments are required 61
CommentRequired Field comments are required 62
CommentRequired Field comments are required 63
CommentRequired Field comments are required 64
CommentRequired Field comments are required 65
CommentRequired Field comments are required 66
CommentRequired Field comments are required 69
CommentRequired Field comments are required 70
CommentRequired Field comments are required 73
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 93
LongVariable Avoid excessively long variable names like timeoutPerThreadMs 128
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 130
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 152
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 159
UseUnderscoresInNumericLiterals Number 10000 should separate every third digit with an underscore 184
UseExplicitTypes Use Explicit Types 188
LawOfDemeter Call to `getPreference` on foreign value `job` (degree 1) 188
UseExplicitTypes Use Explicit Types 221
LawOfDemeter Call to `isBgSync` on foreign value `pref` (degree 2) 223
LawOfDemeter Call to `getLastScanTime` on foreign value `pref` (degree 2) 224
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 2) 225
LawOfDemeter Call to `getLastScanTime` on foreign value `pref` (degree 2) 226
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 234
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 240
LongVariable Avoid excessively long variable names like timeoutPerThreadMs 271
AvoidLiteralsInIfCondition Avoid using literals such as 0.0 in if statements 318

de/spiritscorp/datasync/controller/MainViewController.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 47263
CommentRequired Field comments are required 49
CommentRequired Field comments are required 50
CommentRequired Field comments are required 51
LongVariable Avoid excessively long variable names like activeBgController 52
CommentRequired Field comments are required 52
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 88
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 89
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 90
DoNotTerminateVM System.exit() should not be used in J2EE/JEE apps 109
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 119
LawOfDemeter Call to `getScanMode` on foreign value `entry.getValue()` (degree 1) 120
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 132
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 133
LawOfDemeter Call to `getItem` on foreign value `cell` (degree 1) 138
ConfusingTernary Avoid if (x != y) ..; else ..; 148153
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 161
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 174
ExhaustiveSwitchHasDefault The switch block is exhaustive even without the default case 187192
LawOfDemeter Call to `getSelectedMode` on foreign value `job` (degree 1) 187
LawOfDemeter Call to `getSelectedMode` on foreign value `job` (degree 1) 191
LongVariable Avoid excessively long variable names like autostartTargetState 214
ConfusingTernary Avoid if (x != y) ..; else ..; 228232
LongVariable Avoid excessively long variable names like dynamicGracePeriod 253
LongVariable Avoid excessively long variable names like timeoutPerThreadMs 254
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 257

de/spiritscorp/datasync/controller/SyncJobContext.java

Rule Violation Line
CommentRequired Field comments are required 45
CommentRequired Field comments are required 46
CommentRequired Field comments are required 47
CommentRequired Field comments are required 48
CommentRequired Field comments are required 49
CommentRequired Field comments are required 51
LongVariable Avoid excessively long variable names like activeWorkerThread 52
CommentRequired Field comments are required 52
CommentRequired Field comments are required 54
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 62
MethodArgumentCouldBeFinal Parameter 'taskPreference' is not assigned and could be declared final 62
AvoidSynchronizedAtMethodLevel Use block level locking rather than method level synchronization 71
MethodArgumentCouldBeFinal Parameter 'thread' is not assigned and could be declared final 71
AvoidSynchronizedAtMethodLevel Use block level locking rather than method level synchronization 80
MethodArgumentCouldBeFinal Parameter 'timeoutMs' is not assigned and could be declared final 80
ConfusingTernary Avoid if (x != y) ..; else ..; 99107
MethodArgumentCouldBeFinal Parameter 'status' is not assigned and could be declared final 116
MethodArgumentCouldBeFinal Parameter 'logEntry' is not assigned and could be declared final 116
CommentRequired Public method and constructor comments are required 134
MethodArgumentCouldBeFinal Parameter 'line' is not assigned and could be declared final 134
CommentRequired Public method and constructor comments are required 144
CommentRequired Public method and constructor comments are required 150
MethodArgumentCouldBeFinal Parameter 'value' is not assigned and could be declared final 154
CommentRequired Public method and constructor comments are required 160
MethodArgumentCouldBeFinal Parameter 'message' is not assigned and could be declared final 164
CommentRequired Public method and constructor comments are required 170
CommentRequired Public method and constructor comments are required 176
MethodArgumentCouldBeFinal Parameter 'mode' is not assigned and could be declared final 180
CommentRequired Public method and constructor comments are required 184
CommentRequired Field comments are required 192
CommentRequired Field comments are required 193
CommentRequired Field comments are required 194
CommentRequired Field comments are required 195
CommentRequired Field comments are required 196
CommentRequired Field comments are required 197
CommentRequired Public method and constructor comments are required 199
MethodArgumentCouldBeFinal Parameter 'path' is not assigned and could be declared final 199
MethodArgumentCouldBeFinal Parameter 'attr' is not assigned and could be declared final 199
MethodArgumentCouldBeFinal Parameter 'readableSize' is not assigned and could be declared final 199
CommentRequired Public method and constructor comments are required 207
MethodArgumentCouldBeFinal Parameter 'val' is not assigned and could be declared final 213
CommentRequired Public method and constructor comments are required 217
CommentRequired Public method and constructor comments are required 221
CommentRequired Public method and constructor comments are required 225
CommentRequired Public method and constructor comments are required 229
MethodArgumentCouldBeFinal Parameter 'newTaskName' is not assigned and could be declared final 236

de/spiritscorp/datasync/controller/SyncJobService.java

Rule Violation Line
MethodArgumentCouldBeFinal Parameter 'dialogService' is not assigned and could be declared final 69
MethodArgumentCouldBeFinal Parameter 'uiLog' is not assigned and could be declared final 69
CognitiveComplexity The method 'startSynchronize(SyncJobContext)' has a cognitive complexity of 17, current threshold is 15 79
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 79
LawOfDemeter Call to `getPreference` on foreign value `context` (degree 1) 89
LawOfDemeter Call to `getSourcePath` on foreign value `pref` (degree 2) 104
AvoidLiteralsInIfCondition Avoid using literals such as 1 in if statements 104
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 112
ExceptionAsFlowControl Exception thrown at line 110 is caught in this block. 139143
ExceptionAsFlowControl Exception thrown at line 115 is caught in this block. 139143
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 143
CognitiveComplexity The method 'startBackup(SyncJobContext)' has a cognitive complexity of 19, current threshold is 15 161
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 161
LawOfDemeter Call to `getPreference` on foreign value `context` (degree 1) 171
LongVariable Avoid excessively long variable names like backupTimeFormatted 197
ExceptionAsFlowControl Exception thrown at line 189 is caught in this block. 218222
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 222
LawOfDemeter Call to `getPreference` on foreign value `job` (degree 1) 251
LawOfDemeter Call to `getDuplicateFiles` on foreign value `job` (degree 1) 273
LawOfDemeter Call to `getDuplicateFiles` on foreign value `job` (degree 1) 274
LawOfDemeter Call to `getDuplicateFiles` on foreign value `job` (degree 1) 276
ExceptionAsFlowControl Exception thrown at line 260 is caught in this block. 280283
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 283
CognitiveComplexity The method 'deleteSelectedDuplicates(SyncJobContext)' has a cognitive complexity of 17, current threshold is 15 301
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 301
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 302
LawOfDemeter Call to `getDuplicateFiles` on foreign value `context` (degree 1) 303
LawOfDemeter Call to `isSelected` on foreign value `row` (degree 2) 304
LawOfDemeter Call to `getDuplicateFiles` on foreign value `context` (degree 1) 329
ExceptionAsFlowControl Exception thrown at line 322 is caught in this block. 334338
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 338
LinguisticNaming Linguistics Antipattern - The setter 'setOSAutostart' should not return any type except void linguistically 358
CognitiveComplexity The method 'setOSAutostart(boolean)' has a cognitive complexity of 23, current threshold is 15 358
CyclomaticComplexity The method 'setOSAutostart(boolean)' has a cyclomatic complexity of 13. 358
MethodArgumentCouldBeFinal Parameter 'set' is not assigned and could be declared final 358
ShortVariable Avoid variables with short names like os 364
ShortVariable Avoid variables with short names like pb 377
ShortVariable Avoid variables with short names like pb 380
ShortVariable Avoid variables with short names like pb 397
ShortVariable Avoid variables with short names like pb 407
AvoidInstanceofChecksInCatchClause An instanceof check is being performed on the caught exception. Create a separate catch clause for InterruptedException. 413
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 429
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 430
LawOfDemeter Call to `getConfigPath` on foreign value `manager` (degree 1) 430
LawOfDemeter Call to `getParent` on foreign value `manager.getConfigPath()` (degree 2) 430
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 435
MethodArgumentCouldBeFinal Parameter 'running' is not assigned and could be declared final 435
MethodArgumentCouldBeFinal Parameter 'message' is not assigned and could be declared final 435
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 442
MethodArgumentCouldBeFinal Parameter 'line' is not assigned and could be declared final 442

de/spiritscorp/datasync/controller/UiLogFormatter.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 41
CognitiveComplexity The method 'formatMaps(ScanType, Map<Path, FileAttributes>, Map<Path, FileAttributes>, Map<Path, FileAttributes>)' has a cognitive complexity of 16, current threshold is 15 128
CyclomaticComplexity The method 'formatMaps(ScanType, Map<Path, FileAttributes>, Map<Path, FileAttributes>, Map<Path, FileAttributes>)' has a cyclomatic complexity of 10. 128

de/spiritscorp/datasync/controller/ViewController.java

Rule Violation Line
TooManyMethods This class has too many methods, consider refactoring it. 33109
DanglingJavadoc Javadoc comment does not belong to any class, method or field 5254
CommentRequired Public method and constructor comments are required 105
CommentRequired Public method and constructor comments are required 107

de/spiritscorp/datasync/gui/BgView.java

Rule Violation Line
CommentRequired Field comments are required 47
CommentRequired Field comments are required 48
MethodArgumentCouldBeFinal Parameter 'controller' is not assigned and could be declared final 55

de/spiritscorp/datasync/gui/DialogService.java

Rule Violation Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 92

de/spiritscorp/datasync/gui/Gui.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 57
CommentRequired Field comments are required 59
CommentRequired Field comments are required 61
CommentRequired Field comments are required 62
CommentRequired Field comments are required 64
CommentRequired Field comments are required 68
CommentRequired Field comments are required 70
CommentRequired Field comments are required 71
SingularField Perhaps 'sidebarView' could be replaced by a local variable. 71
CommentRequired Field comments are required 72
CommentRequired Field comments are required 73
CommentRequired Field comments are required 74
CommentRequired Field comments are required 96
MethodArgumentCouldBeFinal Parameter 'ikon' is not assigned and could be declared final 105
MethodArgumentCouldBeFinal Parameter 'primaryStage' is not assigned and could be declared final 112
LawOfDemeter Call to `getTheme` on foreign value `PreferenceManager.getInstance()` (degree 1) 116
LawOfDemeter Call to `getIcons` on foreign value `primaryStage` (degree 1) 119
LawOfDemeter Call to `getSelectionModel` on foreign value `sidebarView.getSidebarListView()` (degree 1) 134
MethodArgumentCouldBeFinal Parameter 'state' is not assigned and could be declared final 151
MethodArgumentCouldBeFinal Parameter 'job' is not assigned and could be declared final 165
MethodArgumentCouldBeFinal Parameter 'newTheme' is not assigned and could be declared final 180
LawOfDemeter Call to `getStylesheets` on foreign value `mainScene` (degree 1) 184
MethodArgumentCouldBeFinal Parameter 'message' is not assigned and could be declared final 196
MethodArgumentCouldBeFinal Parameter 'notifyStatus' is not assigned and could be declared final 196
MethodArgumentCouldBeFinal Parameter 'durationSec' is not assigned and could be declared final 196
MethodArgumentCouldBeFinal Parameter 'jobList' is not assigned and could be declared final 208
CommentRequired Public method and constructor comments are required 241
LawOfDemeter Call to `getChildren` on foreign value `infoBox` (degree 1) 267

de/spiritscorp/datasync/gui/SidebarView.java

Rule Violation Line
CommentRequired Field comments are required 53
CommentRequired Field comments are required 54
CommentRequired Field comments are required 55
CallSuperInConstructor It is a good practice to call super() in a constructor 63
MethodArgumentCouldBeFinal Parameter 'mainGui' is not assigned and could be declared final 63
MethodArgumentCouldBeFinal Parameter 'controller' is not assigned and could be declared final 63
LawOfDemeter Call to `getItems` on foreign value `hamburgerMenu` (degree 1) 83
MethodArgumentCouldBeFinal Parameter 'item' is not assigned and could be declared final 116
MethodArgumentCouldBeFinal Parameter 'empty' is not assigned and could be declared final 116
LawOfDemeter Call to `getItems` on foreign value `contextMenu` (degree 1) 143
LawOfDemeter Call to `getSelectionModel` on foreign value `sidebarListView` (degree 1) 161
LawOfDemeter Call to `selectedItemProperty` on foreign value `sidebarListView.getSelectionModel()` (degree 2) 161

de/spiritscorp/datasync/gui/WorkspaceView.java

Rule Violation Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 1585
CouplingBetweenObjects A value of 33 may denote a high amount of coupling within the class (threshold: 20) 1585
CommentRequired Field comments are required 79
CommentRequired Field comments are required 80
LongVariable Avoid excessively long variable names like workspaceHeaderLabel 81
CommentRequired Field comments are required 81
CommentRequired Field comments are required 82
CommentRequired Field comments are required 83
CommentRequired Field comments are required 84
CommentRequired Field comments are required 86
CommentRequired Field comments are required 87
CommentRequired Field comments are required 88
CommentRequired Field comments are required 89
CommentRequired Field comments are required 91
CommentRequired Field comments are required 92
CommentRequired Field comments are required 93
CommentRequired Field comments are required 94
CommentRequired Field comments are required 95
CommentRequired Enum comments are required 97
CommentRequired Field comments are required 102
MethodArgumentCouldBeFinal Parameter 'cssClass' is not assigned and could be declared final 104
CallSuperInConstructor It is a good practice to call super() in a constructor 117
MethodArgumentCouldBeFinal Parameter 'mainGui' is not assigned and could be declared final 117
MethodArgumentCouldBeFinal Parameter 'controller' is not assigned and could be declared final 117
LawOfDemeter Call to `getChildren` on foreign value `controlToolbar` (degree 1) 140
LawOfDemeter Call to `getChildren` on foreign value `statusFooter` (degree 1) 158
LawOfDemeter Call to `getColumns` on foreign value `duplicateTable` (degree 1) 193
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 212
ShortVariable Avoid variables with short names like p 219
LawOfDemeter Call to `getPreference` on foreign value `job` (degree 1) 219
LawOfDemeter Call to `getSourcePath` on foreign value `p` (degree 2) 220
LawOfDemeter Call to `getDestPath` on foreign value `p` (degree 2) 221
LawOfDemeter Call to `getDestPath` on foreign value `p` (degree 2) 221
LawOfDemeter Call to `getSelectedMode` on foreign value `job` (degree 1) 224
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 225
LawOfDemeter Call to `getSelectedMode` on foreign value `job` (degree 1) 227
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 228
MethodArgumentCouldBeFinal Parameter 'content' is not assigned and could be declared final 242
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 243
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 247
MethodArgumentCouldBeFinal Parameter 'job' is not assigned and could be declared final 254
MethodArgumentCouldBeFinal Parameter 'message' is not assigned and could be declared final 280
MethodArgumentCouldBeFinal Parameter 'cssNotifyStatus' is not assigned and could be declared final 280
MethodArgumentCouldBeFinal Parameter 'durationSec' is not assigned and could be declared final 280
LongVariable Avoid excessively long variable names like originalContextText 281
LawOfDemeter Call to `getStyleClass` on foreign value `contextInfoLabel` (degree 1) 284
LawOfDemeter Call to `getStyleClass` on foreign value `contextInfoLabel` (degree 1) 307
LawOfDemeter Call to `getStyleClass` on foreign value `contextInfoLabel` (degree 1) 314
NcssCount The method 'buildSettingsGridTab(SyncJobContext)' has a NCSS line count of 74. 325
CognitiveComplexity The method 'buildSettingsGridTab(SyncJobContext)' has a cognitive complexity of 17, current threshold is 15 325
MethodArgumentCouldBeFinal Parameter 'job' is not assigned and could be declared final 325
LawOfDemeter Call to `getItems` on foreign value `taskModeComboBox` (degree 1) 337
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 2) 338
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 2) 338
LongVariable Avoid excessively long variable names like dynamicPathsContainer 345
LawOfDemeter Call to `getSourcePath` on foreign value `pref` (degree 2) 349
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 350
LawOfDemeter Call to `getSourcePath` on foreign value `pref` (degree 2) 350
LawOfDemeter Call to `getDestPath` on foreign value `pref` (degree 2) 352
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 353
LawOfDemeter Call to `getDestPath` on foreign value `pref` (degree 2) 353
LawOfDemeter Call to `isSubDir` on foreign value `pref` (degree 2) 364
LawOfDemeter Call to `isTrashbin` on foreign value `pref` (degree 2) 372
LawOfDemeter Call to `isAutoDel` on foreign value `pref` (degree 2) 375
LawOfDemeter Call to `isAutoSync` on foreign value `pref` (degree 2) 378
LawOfDemeter Call to `isLogOn` on foreign value `pref` (degree 2) 381
LawOfDemeter Call to `isBgSync` on foreign value `pref` (degree 2) 384
LawOfDemeter Call to `getItems` on foreign value `bgTimeComboBox` (degree 1) 390
LawOfDemeter Call to `getSelectionModel` on foreign value `bgTimeComboBox` (degree 1) 391
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 2) 391
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 2) 391
LongVariable Avoid excessively long variable names like globalAutostartCheck 401
MethodArgumentCouldBeFinal Parameter 'item' is not assigned and could be declared final 411
MethodArgumentCouldBeFinal Parameter 'empty' is not assigned and could be declared final 411
MethodArgumentCouldBeFinal Parameter 'item' is not assigned and could be declared final 418
MethodArgumentCouldBeFinal Parameter 'empty' is not assigned and could be declared final 418
LawOfDemeter Call to `getSelectionModel` on foreign value `themeComboBox` (degree 1) 423
LawOfDemeter Call to `getPreference` on foreign value `job` (degree 1) 435
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 449
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 450
ConfusingTernary Avoid if (x != y) ..; else ..; 452458
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 452
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 452
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 453
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 454
CognitiveComplexity The method 'renderContextPaths(ScanType, VBox, Preference, PathContext)' has a cognitive complexity of 34, current threshold is 15 472
CyclomaticComplexity The method 'renderContextPaths(ScanType, VBox, Preference, PathContext)' has a cyclomatic complexity of 14. 472
NPathComplexity The method 'renderContextPaths(ScanType, VBox, Preference, PathContext)' has an NPath complexity of 676, current threshold is 200 472
MethodArgumentCouldBeFinal Parameter 'type' is not assigned and could be declared final 472
MethodArgumentCouldBeFinal Parameter 'container' is not assigned and could be declared final 472
MethodArgumentCouldBeFinal Parameter 'pref' is not assigned and could be declared final 472
MethodArgumentCouldBeFinal Parameter 'pathCtx' is not assigned and could be declared final 472
LawOfDemeter Call to `getChildren` on foreign value `container` (degree 1) 473
LawOfDemeter Call to `getChildren` on foreign value `container` (degree 1) 480
ShortVariable Avoid variables with short names like f 488
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 1) 488
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 491
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 492
ShortVariable Avoid variables with short names like f 505
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 1) 505
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 508
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 509
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 522
ShortVariable Avoid variables with short names like f 530
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 530
LawOfDemeter Call to `getLast` on foreign value `pathCtx.sources` (degree 2) 530
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 1) 530
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 533
LawOfDemeter Call to `getSelectionModel` on foreign value `pathsListView` (degree 1) 538
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 541
LawOfDemeter Call to `getChildren` on foreign value `multiSrcBox` (degree 1) 545
ShortVariable Avoid variables with short names like f 555
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 555
LawOfDemeter Call to `getFirst` on foreign value `pathCtx.destinations` (degree 2) 555
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 1) 555
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 558
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 559
LawOfDemeter Call to `getChildren` on foreign value `container` (degree 1) 567
MethodArgumentCouldBeFinal Parameter 'initialDir' is not assigned and could be declared final 570
MethodArgumentCouldBeFinal Parameter 'title' is not assigned and could be declared final 570
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 582
CommentRequired Field comments are required 582
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 583
CommentRequired Field comments are required 583

de/spiritscorp/datasync/io/ConfigException.java

Rule Violation Line
CommentRequired Class comments are required 23
MethodArgumentCouldBeFinal Parameter 'args' is not assigned and could be declared final 27
MethodArgumentCouldBeFinal Parameter 'throwable' is not assigned and could be declared final 32

de/spiritscorp/datasync/io/Debug.java

Rule Violation Line
LawOfDemeter Call to `getDebugPath` on foreign value `PreferenceManager.getInstance()` (degree 1) 139

de/spiritscorp/datasync/io/IOSyncMap.java

Rule Violation Line
CommentRequired Field comments are required 49
MethodArgumentCouldBeFinal Parameter 'jobName' is not assigned and could be declared final 54
LawOfDemeter Call to `getConfigPath` on foreign value `PreferenceManager.getInstance()` (degree 1) 55
LawOfDemeter Call to `getParent` on foreign value `PreferenceManager.getInstance().getConfigPath()` (degree 2) 55
LawOfDemeter Call to `resolve` on foreign value `PreferenceManager.getInstance().getConfigPath().getParent()` (degree 2) 55
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 58
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 6572
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 96
ShortVariable Avoid variables with short names like os 97
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 98
ShortVariable Avoid variables with short names like jw 103
CloseResource it is recommended to wrap resource 'jw' in try-with-resource declaration directly 103
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 111
ShortVariable Avoid variables with short names like jo 112
LawOfDemeter Call to `getRelativeFilePath` on foreign value `entry.getValue()` (degree 1) 115
LawOfDemeter Call to `getCreateTime` on foreign value `entry.getValue()` (degree 1) 118
LawOfDemeter Call to `getModTime` on foreign value `entry.getValue()` (degree 1) 119
LawOfDemeter Call to `getRelativeFilePath` on foreign value `entry.getValue()` (degree 1) 123

de/spiritscorp/datasync/io/Preference.java

Rule Violation Line
GodClass Possible God Class (WMC=68, ATFD=9, TCC=11.111%) 49
CommentRequired Field comments are required 51
CommentRequired Field comments are required 52
CommentRequired Field comments are required 53
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 55
CommentRequired Field comments are required 55
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 56
CommentRequired Field comments are required 56
CommentRequired Field comments are required 57
CommentRequired Field comments are required 59
CommentRequired Field comments are required 60
CommentRequired Field comments are required 61
CommentRequired Field comments are required 62
CommentRequired Field comments are required 64
CommentRequired Field comments are required 65
CommentRequired Field comments are required 67
CommentRequired Field comments are required 68
CommentRequired Field comments are required 69
CommentRequired Field comments are required 70
CommentRequired Field comments are required 71
CommentRequired Field comments are required 72
CommentRequired Field comments are required 73
MethodArgumentCouldBeFinal Parameter 'jobName' is not assigned and could be declared final 75
LawOfDemeter Call to `getConfigPath` on foreign value `PreferenceManager.getInstance()` (degree 1) 81
LawOfDemeter Call to `getParent` on foreign value `PreferenceManager.getInstance().getConfigPath()` (degree 2) 81
LawOfDemeter Call to `resolve` on foreign value `PreferenceManager.getInstance().getConfigPath().getParent()` (degree 2) 81
MethodArgumentCouldBeFinal Parameter 'jobName' is not assigned and could be declared final 91
CognitiveComplexity The method 'deserialize(JsonObject)' has a cognitive complexity of 30, current threshold is 15 135
CyclomaticComplexity The method 'deserialize(JsonObject)' has a cyclomatic complexity of 23. 135
NPathComplexity The method 'deserialize(JsonObject)' has an NPath complexity of 14581, current threshold is 200 135
MethodArgumentCouldBeFinal Parameter 'json' is not assigned and could be declared final 135
ShortVariable Avoid variables with short names like p 145
ShortVariable Avoid variables with short names like p 160
ShortVariable Avoid variables with short names like p 168
ShortVariable Avoid variables with short names like p 173
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 215
MethodArgumentCouldBeFinal Parameter 'json' is not assigned and could be declared final 231
MethodArgumentCouldBeFinal Parameter 'key' is not assigned and could be declared final 231
MethodArgumentCouldBeFinal Parameter 'defaultValue' is not assigned and could be declared final 231
ShortVariable Avoid variables with short names like bw 245
ShortVariable Avoid variables with short names like br 260
CommentRequired Public method and constructor comments are required 268
MethodArgumentCouldBeFinal Parameter 'newName' is not assigned and could be declared final 275
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 277
CommentRequired Public method and constructor comments are required 277
CommentRequired Public method and constructor comments are required 279
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 279
MethodArgumentCouldBeFinal Parameter 'paths' is not assigned and could be declared final 279
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 281
CommentRequired Public method and constructor comments are required 281
CommentRequired Public method and constructor comments are required 283
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 283
MethodArgumentCouldBeFinal Parameter 'paths' is not assigned and could be declared final 283
ShortVariable Avoid variables with short names like p 287
MethodArgumentCouldBeFinal Parameter 'p' is not assigned and could be declared final 287
ShortVariable Avoid variables with short names like p 291
MethodArgumentCouldBeFinal Parameter 'p' is not assigned and could be declared final 291
MethodArgumentCouldBeFinal Parameter 'mode' is not assigned and could be declared final 300
MethodArgumentCouldBeFinal Parameter 'time' is not assigned and could be declared final 304
MethodArgumentCouldBeFinal Parameter 'logOn' is not assigned and could be declared final 308
MethodArgumentCouldBeFinal Parameter 'subDir' is not assigned and could be declared final 312
MethodArgumentCouldBeFinal Parameter 'autoDel' is not assigned and could be declared final 316
MethodArgumentCouldBeFinal Parameter 'autoBgDel' is not assigned and could be declared final 320
MethodArgumentCouldBeFinal Parameter 'autoSync' is not assigned and could be declared final 324
MethodArgumentCouldBeFinal Parameter 'bgSync' is not assigned and could be declared final 328
MethodArgumentCouldBeFinal Parameter 'trashbin' is not assigned and could be declared final 332

de/spiritscorp/datasync/io/PreferenceManager.java

Rule Violation Line
GodClass Possible God Class (WMC=55, ATFD=15, TCC=27.368%) 54
AvoidSynchronizedAtMethodLevel Use block level locking rather than method level synchronization 268
AvoidDuplicateLiterals The String literal "globalSettings" appears 4 times in this file; the first occurrence is on line 283 283
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 290
LiteralsFirstInComparisons Position literals first in String comparisons 383
CommentRequired Public method and constructor comments are required 459

de/spiritscorp/datasync/model/BgModel.java

Rule Violation Line
CommentRequired Class comments are required 33
CommentRequired Field comments are required 35
CommentRequired Field comments are required 36
CommentRequired Field comments are required 37
CommentRequired Public method and constructor comments are required 39
MethodArgumentCouldBeFinal Parameter 'pref' is not assigned and could be declared final 39
MethodArgumentCouldBeFinal Parameter 'logger' is not assigned and could be declared final 39
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 39
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 39
NcssCount The method 'runBgJob()' has a NCSS line count of 78. 52
CognitiveComplexity The method 'runBgJob()' has a cognitive complexity of 49, current threshold is 15 52
CyclomaticComplexity The method 'runBgJob()' has a cyclomatic complexity of 17. 52
CollapsibleIfStatements This if statement could be combined with its parent 65110
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 1) 65
ShortVariable Avoid variables with short names like t1 68
ShortVariable Avoid variables with short names like t2 69
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 88
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 92
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 93
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 94
CollapsibleIfStatements This if statement could be combined with its parent 114141
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 1) 114
ShortVariable Avoid variables with short names like t1 117
ShortVariable Avoid variables with short names like t2 118
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 135
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 136
AvoidLiteralsInIfCondition Avoid using literals such as 1000 in if statements 156

de/spiritscorp/datasync/model/FileAttributes.java

Rule Violation Line
CommentRequired Field comments are required 40
CommentRequired Field comments are required 41
CommentRequired Field comments are required 42
CommentRequired Field comments are required 43
CommentRequired Field comments are required 44
CommentRequired Field comments are required 45
CommentRequired Field comments are required 46
CommentRequired Field comments are required 47
MethodArgumentCouldBeFinal Parameter 'relativeFilePath' is not assigned and could be declared final 61
MethodArgumentCouldBeFinal Parameter 'createTimeString' is not assigned and could be declared final 61
MethodArgumentCouldBeFinal Parameter 'createTime' is not assigned and could be declared final 61
MethodArgumentCouldBeFinal Parameter 'modTimeString' is not assigned and could be declared final 61
MethodArgumentCouldBeFinal Parameter 'modTime' is not assigned and could be declared final 61
MethodArgumentCouldBeFinal Parameter 'size' is not assigned and could be declared final 61
MethodArgumentCouldBeFinal Parameter 'fileHash' is not assigned and could be declared final 61
ShortVariable Avoid variables with short names like o 85
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 85
CognitiveComplexity The method 'equals(Object)' has a cognitive complexity of 20, current threshold is 15 102
CyclomaticComplexity The method 'equals(Object)' has a cyclomatic complexity of 17. 102
MethodArgumentCouldBeFinal Parameter 'obj' is not assigned and could be declared final 102
SimplifyBooleanReturns This if statement can be replaced by `return !{condition};` 130131

de/spiritscorp/datasync/model/FileHandler.java

Rule Violation Line
CommentRequired Class comments are required 41
GodClass Possible God Class (WMC=84, ATFD=65, TCC=4.444%) 41
CyclomaticComplexity The class 'FileHandler' has a total cyclomatic complexity of 84 (highest 13). 41
CommentRequired Field comments are required 43
CommentRequired Field comments are required 44
MethodArgumentCouldBeFinal Parameter 'log' is not assigned and could be declared final 46
CognitiveComplexity The method 'listFiles(ArrayList<Path>, Map<Path, FileAttributes>, ScanType, boolean)' has a cognitive complexity of 16, current threshold is 15 60
CyclomaticComplexity The method 'listFiles(ArrayList<Path>, Map<Path, FileAttributes>, ScanType, boolean)' has a cyclomatic complexity of 11. 60
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 60
MethodArgumentCouldBeFinal Parameter 'paths' is not assigned and could be declared final 60
MethodArgumentCouldBeFinal Parameter 'resultMap' is not assigned and could be declared final 60
MethodArgumentCouldBeFinal Parameter 'deepScan' is not assigned and could be declared final 60
MethodArgumentCouldBeFinal Parameter 'subDir' is not assigned and could be declared final 60
CloseResource Ensure that resources like this ExecutorService object are closed after use 61
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 72
ExceptionAsFlowControl Exception thrown at line 83 is caught in this block. 8689
CognitiveComplexity The method 'findDuplicates(Map<Path, FileAttributes>)' has a cognitive complexity of 23, current threshold is 15 102
CyclomaticComplexity The method 'findDuplicates(Map<Path, FileAttributes>)' has a cyclomatic complexity of 10. 102
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 102
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 106
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 106
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 113
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 118
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 120
AvoidLiteralsInIfCondition Avoid using literals such as 1 in if statements 121
CognitiveComplexity The method 'equalsFiles(Map<Path, FileAttributes>, Map<Path, FileAttributes>)' has a cognitive complexity of 30, current threshold is 15 143
CyclomaticComplexity The method 'equalsFiles(Map<Path, FileAttributes>, Map<Path, FileAttributes>)' has a cyclomatic complexity of 13. 143
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 143
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 143
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 145
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 145
AvoidLiteralsInIfCondition Avoid using literals such as 30_000 in if statements 148
CloseResource Ensure that resources like this ExecutorService object are closed after use 149
ShortVariable Avoid variables with short names like t1 172
ShortVariable Avoid variables with short names like t2 173
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 210
CognitiveComplexity The method 'getSyncFiles(Map<Path, FileAttributes>, Map<Path, FileAttributes>, Path, Path, Map<Path, FileAttributes>)' has a cognitive complexity of 25, current threshold is 15 210
CyclomaticComplexity The method 'getSyncFiles(Map<Path, FileAttributes>, Map<Path, FileAttributes>, Path, Path, Map<Path, FileAttributes>)' has a cyclomatic complexity of 11. 210
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 210
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 210
MethodArgumentCouldBeFinal Parameter 'startSourcePath' is not assigned and could be declared final 210
MethodArgumentCouldBeFinal Parameter 'startDestPath' is not assigned and could be declared final 210
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 211
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 213
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 214
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 225
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 225
CloseResource Ensure that resources like this ExecutorService object are closed after use 227
CognitiveComplexity The method 'deleteFiles(Map<Path, FileAttributes>, boolean, boolean, Path)' has a cognitive complexity of 16, current threshold is 15 278
CyclomaticComplexity The method 'deleteFiles(Map<Path, FileAttributes>, boolean, boolean, Path)' has a cyclomatic complexity of 10. 278
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 278
MethodArgumentCouldBeFinal Parameter 'logOn' is not assigned and could be declared final 278
MethodArgumentCouldBeFinal Parameter 'trashbin' is not assigned and could be declared final 278
MethodArgumentCouldBeFinal Parameter 'trashbinPath' is not assigned and could be declared final 278
CognitiveComplexity The method 'copyFiles(Map<Path, FileAttributes>, boolean, Path)' has a cognitive complexity of 16, current threshold is 15 330
CyclomaticComplexity The method 'copyFiles(Map<Path, FileAttributes>, boolean, Path)' has a cyclomatic complexity of 11. 330
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 330
MethodArgumentCouldBeFinal Parameter 'logOn' is not assigned and could be declared final 330
MethodArgumentCouldBeFinal Parameter 'destPath' is not assigned and could be declared final 330
MethodArgumentCouldBeFinal Parameter 'iterateMap' is not assigned and could be declared final 377
MethodArgumentCouldBeFinal Parameter 'fullMap' is not assigned and could be declared final 377
MethodArgumentCouldBeFinal Parameter 'hitList' is not assigned and could be declared final 377
CommentSize Comment is too large: Too many lines 386420
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 421
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 421
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 421
MethodArgumentCouldBeFinal Parameter 'resultValue' is not assigned and could be declared final 421
MethodArgumentCouldBeFinal Parameter 'startDestPath' is not assigned and could be declared final 421
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 422
MethodArgumentCouldBeFinal Parameter 'source' is not assigned and could be declared final 489
MethodArgumentCouldBeFinal Parameter 'dest' is not assigned and could be declared final 489
LawOfDemeter Call to `getModTime` on foreign value `source` (degree 1) 491
LawOfDemeter Call to `getModTime` on foreign value `dest` (degree 1) 491
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 506
MethodArgumentCouldBeFinal Parameter 'avProc' is not assigned and could be declared final 506
ShortVariable Avoid variables with short names like i 512
ShortVariable Avoid variables with short names like j 513

de/spiritscorp/datasync/model/FileScan.java

Rule Violation Line
CommentRequired Class comments are required 39
CommentRequired Field comments are required 41
CommentRequired Field comments are required 42
CommentRequired Field comments are required 43
CommentRequired Field comments are required 44
CommentRequired Field comments are required 45
MethodArgumentCouldBeFinal Parameter 'path' is not assigned and could be declared final 55
MethodArgumentCouldBeFinal Parameter 'startPath' is not assigned and could be declared final 55
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 55
MethodArgumentCouldBeFinal Parameter 'scanType' is not assigned and could be declared final 55
MethodArgumentCouldBeFinal Parameter 'bfa' is not assigned and could be declared final 55
ExhaustiveSwitchHasDefault The switch block is exhaustive even without the default case 107111

de/spiritscorp/datasync/model/FileVisit.java

Rule Violation Line
CommentRequired Class comments are required 34
CommentRequired Field comments are required 35
CommentRequired Field comments are required 36
CommentRequired Field comments are required 37
CommentRequired Field comments are required 38
MethodArgumentCouldBeFinal Parameter 'executor' is not assigned and could be declared final 46
MethodArgumentCouldBeFinal Parameter 'path' is not assigned and could be declared final 46
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 46
MethodArgumentCouldBeFinal Parameter 'deepScan' is not assigned and could be declared final 46
MethodArgumentCouldBeFinal Parameter 'dir' is not assigned and could be declared final 54
MethodArgumentCouldBeFinal Parameter 'attrs' is not assigned and could be declared final 54
CollapsibleIfStatements This if statement could be combined with its parent 5662
MethodArgumentCouldBeFinal Parameter 'file' is not assigned and could be declared final 68
MethodArgumentCouldBeFinal Parameter 'attrs' is not assigned and could be declared final 68

de/spiritscorp/datasync/model/Model.java

Rule Violation Line
CommentRequired Field comments are required 51
CommentRequired Field comments are required 52
CommentRequired Field comments are required 53
MethodArgumentCouldBeFinal Parameter 'logger' is not assigned and could be declared final 65
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 65
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 65
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 106
MethodArgumentCouldBeFinal Parameter 'sourcePathes' is not assigned and could be declared final 106
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 106
MethodArgumentCouldBeFinal Parameter 'destPathes' is not assigned and could be declared final 106
MethodArgumentCouldBeFinal Parameter 'stats' is not assigned and could be declared final 106
MethodArgumentCouldBeFinal Parameter 'deepScan' is not assigned and could be declared final 106
MethodArgumentCouldBeFinal Parameter 'subDir' is not assigned and could be declared final 106
ShortVariable Avoid variables with short names like t1 108
ShortVariable Avoid variables with short names like t2 109
LinguisticNaming Linguistics Antipattern - The getter 'getEqualsFiles' should not return void linguistically 133
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 153
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 153
MethodArgumentCouldBeFinal Parameter 'sourcePath' is not assigned and could be declared final 153
MethodArgumentCouldBeFinal Parameter 'destPath' is not assigned and could be declared final 153
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 155
MethodArgumentCouldBeFinal Parameter 'del' is not assigned and could be declared final 175
MethodArgumentCouldBeFinal Parameter 'logOn' is not assigned and could be declared final 175
MethodArgumentCouldBeFinal Parameter 'destPath' is not assigned and could be declared final 175
MethodArgumentCouldBeFinal Parameter 'trashbin' is not assigned and could be declared final 175
MethodArgumentCouldBeFinal Parameter 'trashbinPath' is not assigned and could be declared final 175
MethodArgumentCouldBeFinal Parameter 'ctx' is not assigned and could be declared final 195
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 195
MethodArgumentCouldBeFinal Parameter 'result' is not assigned and could be declared final 195
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 195
MethodArgumentCouldBeFinal Parameter 'sourcePath' is not assigned and could be declared final 195
MethodArgumentCouldBeFinal Parameter 'destPath' is not assigned and could be declared final 195
MethodArgumentCouldBeFinal Parameter 'testOn' is not assigned and could be declared final 195
LawOfDemeter Call to `getPreference` on foreign value `ctx` (degree 1) 205
LawOfDemeter Call to `getPreference` on foreign value `ctx` (degree 1) 209
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 224
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 244
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 244
LiteralsFirstInComparisons Position literals first in String comparisons 248
LiteralsFirstInComparisons Position literals first in String comparisons 255
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 272

de/spiritscorp/datasync/theme/DarkSlateTheme.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 28
MethodArgumentCouldBeFinal Parameter 'scene' is not assigned and could be declared final 31
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 292
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 293

de/spiritscorp/datasync/theme/MatrixTerminalTheme.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 29
MethodArgumentCouldBeFinal Parameter 'scene' is not assigned and could be declared final 31
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 147
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 148

de/spiritscorp/datasync/theme/NordicLightTheme.java

Rule Violation Line
AtLeastOneConstructor Each class should declare at least one constructor 28
MethodArgumentCouldBeFinal Parameter 'scene' is not assigned and could be declared final 30
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 69
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 70

Priority 4

de/spiritscorp/datasync/gui/Gui.java

Rule Violation Line
ShortClassName Avoid short class names like Gui 57

de/spiritscorp/datasync/gui/SidebarView.java

Rule Violation Line
UnnecessaryFullyQualifiedName Unnecessary qualifier 'VBox': 'setVgrow' is already in scope 106

de/spiritscorp/datasync/model/BgModel.java

Rule Violation Line
OneDeclarationPerLine Use one line for each declaration, it enhances code readability. 37

Files

de/spiritscorp/datasync/Main.java

Rule Violation Priority Line
CommentSize Comment is too large: Too many lines 3 225
AssignmentInOperand Avoid assignment to firstStart in operand 3 196
AssignmentInOperand Avoid assignment to debug in operand 3 199

de/spiritscorp/datasync/controller/BgController.java

Rule Violation Priority Line
CommentRequired Field comments are required 3 58
CommentRequired Field comments are required 3 59
UseUnderscoresInNumericLiterals Number 30000 should separate every third digit with an underscore 3 59
CommentRequired Field comments are required 3 61
CommentRequired Field comments are required 3 62
CommentRequired Field comments are required 3 63
CommentRequired Field comments are required 3 64
CommentRequired Field comments are required 3 65
CommentRequired Field comments are required 3 66
CommentRequired Field comments are required 3 69
CommentRequired Field comments are required 3 70
CommentRequired Field comments are required 3 73
NullAssignment Assigning an Object to null is a code smell. Consider refactoring. 3 93
LongVariable Avoid excessively long variable names like timeoutPerThreadMs 3 128
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 3 130
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 3 152
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 3 159
UseUnderscoresInNumericLiterals Number 10000 should separate every third digit with an underscore 3 184
UseExplicitTypes Use Explicit Types 3 188
LawOfDemeter Call to `getPreference` on foreign value `job` (degree 1) 3 188
UseExplicitTypes Use Explicit Types 3 221
LawOfDemeter Call to `isBgSync` on foreign value `pref` (degree 2) 3 223
LawOfDemeter Call to `getLastScanTime` on foreign value `pref` (degree 2) 3 224
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 2) 3 225
LawOfDemeter Call to `getLastScanTime` on foreign value `pref` (degree 2) 3 226
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 3 234
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 240
LongVariable Avoid excessively long variable names like timeoutPerThreadMs 3 271
AvoidLiteralsInIfCondition Avoid using literals such as 0.0 in if statements 3 318

de/spiritscorp/datasync/controller/MainViewController.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 47263
CommentRequired Field comments are required 3 49
CommentRequired Field comments are required 3 50
CommentRequired Field comments are required 3 51
LongVariable Avoid excessively long variable names like activeBgController 3 52
CommentRequired Field comments are required 3 52
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 3 88
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 3 89
LawOfDemeter Call to `getWindowStage` on foreign value `gui` (degree 1) 3 90
DoNotTerminateVM System.exit() should not be used in J2EE/JEE apps 3 109
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 3 119
LawOfDemeter Call to `getScanMode` on foreign value `entry.getValue()` (degree 1) 3 120
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 3 132
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 3 133
LawOfDemeter Call to `getItem` on foreign value `cell` (degree 1) 3 138
ConfusingTernary Avoid if (x != y) ..; else ..; 3 148153
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 3 161
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 3 174
ExhaustiveSwitchHasDefault The switch block is exhaustive even without the default case 3 187192
LawOfDemeter Call to `getSelectedMode` on foreign value `job` (degree 1) 3 187
LawOfDemeter Call to `getSelectedMode` on foreign value `job` (degree 1) 3 191
LongVariable Avoid excessively long variable names like autostartTargetState 3 214
ConfusingTernary Avoid if (x != y) ..; else ..; 3 228232
LongVariable Avoid excessively long variable names like dynamicGracePeriod 3 253
LongVariable Avoid excessively long variable names like timeoutPerThreadMs 3 254
LawOfDemeter Call to `getJobList` on foreign value `gui` (degree 1) 3 257

de/spiritscorp/datasync/controller/SyncJobContext.java

Rule Violation Priority Line
CommentRequired Field comments are required 3 45
CommentRequired Field comments are required 3 46
CommentRequired Field comments are required 3 47
CommentRequired Field comments are required 3 48
CommentRequired Field comments are required 3 49
CommentRequired Field comments are required 3 51
LongVariable Avoid excessively long variable names like activeWorkerThread 3 52
CommentRequired Field comments are required 3 52
CommentRequired Field comments are required 3 54
MethodArgumentCouldBeFinal Parameter 'name' is not assigned and could be declared final 3 62
MethodArgumentCouldBeFinal Parameter 'taskPreference' is not assigned and could be declared final 3 62
AvoidSynchronizedAtMethodLevel Use block level locking rather than method level synchronization 3 71
MethodArgumentCouldBeFinal Parameter 'thread' is not assigned and could be declared final 3 71
AvoidSynchronizedAtMethodLevel Use block level locking rather than method level synchronization 3 80
MethodArgumentCouldBeFinal Parameter 'timeoutMs' is not assigned and could be declared final 3 80
ConfusingTernary Avoid if (x != y) ..; else ..; 3 99107
MethodArgumentCouldBeFinal Parameter 'status' is not assigned and could be declared final 3 116
MethodArgumentCouldBeFinal Parameter 'logEntry' is not assigned and could be declared final 3 116
CommentRequired Public method and constructor comments are required 3 134
MethodArgumentCouldBeFinal Parameter 'line' is not assigned and could be declared final 3 134
CommentRequired Public method and constructor comments are required 3 144
CommentRequired Public method and constructor comments are required 3 150
MethodArgumentCouldBeFinal Parameter 'value' is not assigned and could be declared final 3 154
CommentRequired Public method and constructor comments are required 3 160
MethodArgumentCouldBeFinal Parameter 'message' is not assigned and could be declared final 3 164
CommentRequired Public method and constructor comments are required 3 170
CommentRequired Public method and constructor comments are required 3 176
MethodArgumentCouldBeFinal Parameter 'mode' is not assigned and could be declared final 3 180
CommentRequired Public method and constructor comments are required 3 184
CommentRequired Field comments are required 3 192
CommentRequired Field comments are required 3 193
CommentRequired Field comments are required 3 194
CommentRequired Field comments are required 3 195
CommentRequired Field comments are required 3 196
CommentRequired Field comments are required 3 197
CommentRequired Public method and constructor comments are required 3 199
MethodArgumentCouldBeFinal Parameter 'path' is not assigned and could be declared final 3 199
MethodArgumentCouldBeFinal Parameter 'attr' is not assigned and could be declared final 3 199
MethodArgumentCouldBeFinal Parameter 'readableSize' is not assigned and could be declared final 3 199
CommentRequired Public method and constructor comments are required 3 207
MethodArgumentCouldBeFinal Parameter 'val' is not assigned and could be declared final 3 213
CommentRequired Public method and constructor comments are required 3 217
CommentRequired Public method and constructor comments are required 3 221
CommentRequired Public method and constructor comments are required 3 225
CommentRequired Public method and constructor comments are required 3 229
MethodArgumentCouldBeFinal Parameter 'newTaskName' is not assigned and could be declared final 3 236

de/spiritscorp/datasync/controller/SyncJobService.java

Rule Violation Priority Line
MethodArgumentCouldBeFinal Parameter 'dialogService' is not assigned and could be declared final 3 69
MethodArgumentCouldBeFinal Parameter 'uiLog' is not assigned and could be declared final 3 69
CognitiveComplexity The method 'startSynchronize(SyncJobContext)' has a cognitive complexity of 17, current threshold is 15 3 79
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 3 79
LawOfDemeter Call to `getPreference` on foreign value `context` (degree 1) 3 89
LawOfDemeter Call to `getSourcePath` on foreign value `pref` (degree 2) 3 104
AvoidLiteralsInIfCondition Avoid using literals such as 1 in if statements 3 104
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 112
ExceptionAsFlowControl Exception thrown at line 110 is caught in this block. 3 139143
ExceptionAsFlowControl Exception thrown at line 115 is caught in this block. 3 139143
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 143
CognitiveComplexity The method 'startBackup(SyncJobContext)' has a cognitive complexity of 19, current threshold is 15 3 161
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 3 161
LawOfDemeter Call to `getPreference` on foreign value `context` (degree 1) 3 171
LongVariable Avoid excessively long variable names like backupTimeFormatted 3 197
ExceptionAsFlowControl Exception thrown at line 189 is caught in this block. 3 218222
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 222
LawOfDemeter Call to `getPreference` on foreign value `job` (degree 1) 3 251
LawOfDemeter Call to `getDuplicateFiles` on foreign value `job` (degree 1) 3 273
LawOfDemeter Call to `getDuplicateFiles` on foreign value `job` (degree 1) 3 274
LawOfDemeter Call to `getDuplicateFiles` on foreign value `job` (degree 1) 3 276
ExceptionAsFlowControl Exception thrown at line 260 is caught in this block. 3 280283
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 283
CognitiveComplexity The method 'deleteSelectedDuplicates(SyncJobContext)' has a cognitive complexity of 17, current threshold is 15 3 301
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 3 301
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 302
LawOfDemeter Call to `getDuplicateFiles` on foreign value `context` (degree 1) 3 303
LawOfDemeter Call to `isSelected` on foreign value `row` (degree 2) 3 304
LawOfDemeter Call to `getDuplicateFiles` on foreign value `context` (degree 1) 3 329
ExceptionAsFlowControl Exception thrown at line 322 is caught in this block. 3 334338
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 338
LinguisticNaming Linguistics Antipattern - The setter 'setOSAutostart' should not return any type except void linguistically 3 358
CognitiveComplexity The method 'setOSAutostart(boolean)' has a cognitive complexity of 23, current threshold is 15 3 358
CyclomaticComplexity The method 'setOSAutostart(boolean)' has a cyclomatic complexity of 13. 3 358
MethodArgumentCouldBeFinal Parameter 'set' is not assigned and could be declared final 3 358
ShortVariable Avoid variables with short names like os 3 364
ShortVariable Avoid variables with short names like pb 3 377
ShortVariable Avoid variables with short names like pb 3 380
ShortVariable Avoid variables with short names like pb 3 397
ShortVariable Avoid variables with short names like pb 3 407
AvoidInstanceofChecksInCatchClause An instanceof check is being performed on the caught exception. Create a separate catch clause for InterruptedException. 3 413
ConsecutiveAppendsShouldReuse StringBuffer (or StringBuilder).append is called consecutively without reusing the target variable. 3 429
InefficientStringBuffering Avoid concatenating nonliterals in a StringBuffer/StringBuilder constructor or append(). 3 430
LawOfDemeter Call to `getConfigPath` on foreign value `manager` (degree 1) 3 430
LawOfDemeter Call to `getParent` on foreign value `manager.getConfigPath()` (degree 2) 3 430
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 3 435
MethodArgumentCouldBeFinal Parameter 'running' is not assigned and could be declared final 3 435
MethodArgumentCouldBeFinal Parameter 'message' is not assigned and could be declared final 3 435
MethodArgumentCouldBeFinal Parameter 'context' is not assigned and could be declared final 3 442
MethodArgumentCouldBeFinal Parameter 'line' is not assigned and could be declared final 3 442

de/spiritscorp/datasync/controller/UiLogFormatter.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 41
CognitiveComplexity The method 'formatMaps(ScanType, Map<Path, FileAttributes>, Map<Path, FileAttributes>, Map<Path, FileAttributes>)' has a cognitive complexity of 16, current threshold is 15 3 128
CyclomaticComplexity The method 'formatMaps(ScanType, Map<Path, FileAttributes>, Map<Path, FileAttributes>, Map<Path, FileAttributes>)' has a cyclomatic complexity of 10. 3 128

de/spiritscorp/datasync/controller/ViewController.java

Rule Violation Priority Line
TooManyMethods This class has too many methods, consider refactoring it. 3 33109
DanglingJavadoc Javadoc comment does not belong to any class, method or field 3 5254
CommentRequired Public method and constructor comments are required 3 105
CommentRequired Public method and constructor comments are required 3 107

de/spiritscorp/datasync/gui/BgView.java

Rule Violation Priority Line
CommentRequired Field comments are required 3 47
CommentRequired Field comments are required 3 48
MethodArgumentCouldBeFinal Parameter 'controller' is not assigned and could be declared final 3 55

de/spiritscorp/datasync/gui/DialogService.java

Rule Violation Priority Line
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 92

de/spiritscorp/datasync/gui/Gui.java

Rule Violation Priority Line
ShortClassName Avoid short class names like Gui 4 57
AtLeastOneConstructor Each class should declare at least one constructor 3 57
CommentRequired Field comments are required 3 59
CommentRequired Field comments are required 3 61
CommentRequired Field comments are required 3 62
CommentRequired Field comments are required 3 64
CommentRequired Field comments are required 3 68
CommentRequired Field comments are required 3 70
CommentRequired Field comments are required 3 71
SingularField Perhaps 'sidebarView' could be replaced by a local variable. 3 71
CommentRequired Field comments are required 3 72
CommentRequired Field comments are required 3 73
CommentRequired Field comments are required 3 74
CommentRequired Field comments are required 3 96
MethodArgumentCouldBeFinal Parameter 'ikon' is not assigned and could be declared final 3 105
MethodArgumentCouldBeFinal Parameter 'primaryStage' is not assigned and could be declared final 3 112
LawOfDemeter Call to `getTheme` on foreign value `PreferenceManager.getInstance()` (degree 1) 3 116
LawOfDemeter Call to `getIcons` on foreign value `primaryStage` (degree 1) 3 119
LawOfDemeter Call to `getSelectionModel` on foreign value `sidebarView.getSidebarListView()` (degree 1) 3 134
MethodArgumentCouldBeFinal Parameter 'state' is not assigned and could be declared final 3 151
MethodArgumentCouldBeFinal Parameter 'job' is not assigned and could be declared final 3 165
MethodArgumentCouldBeFinal Parameter 'newTheme' is not assigned and could be declared final 3 180
LawOfDemeter Call to `getStylesheets` on foreign value `mainScene` (degree 1) 3 184
MethodArgumentCouldBeFinal Parameter 'message' is not assigned and could be declared final 3 196
MethodArgumentCouldBeFinal Parameter 'notifyStatus' is not assigned and could be declared final 3 196
MethodArgumentCouldBeFinal Parameter 'durationSec' is not assigned and could be declared final 3 196
MethodArgumentCouldBeFinal Parameter 'jobList' is not assigned and could be declared final 3 208
CommentRequired Public method and constructor comments are required 3 241
LawOfDemeter Call to `getChildren` on foreign value `infoBox` (degree 1) 3 267

de/spiritscorp/datasync/gui/SidebarView.java

Rule Violation Priority Line
CommentRequired Field comments are required 3 53
CommentRequired Field comments are required 3 54
CommentRequired Field comments are required 3 55
CallSuperInConstructor It is a good practice to call super() in a constructor 3 63
MethodArgumentCouldBeFinal Parameter 'mainGui' is not assigned and could be declared final 3 63
MethodArgumentCouldBeFinal Parameter 'controller' is not assigned and could be declared final 3 63
LawOfDemeter Call to `getItems` on foreign value `hamburgerMenu` (degree 1) 3 83
UnnecessaryFullyQualifiedName Unnecessary qualifier 'VBox': 'setVgrow' is already in scope 4 106
MethodArgumentCouldBeFinal Parameter 'item' is not assigned and could be declared final 3 116
MethodArgumentCouldBeFinal Parameter 'empty' is not assigned and could be declared final 3 116
LawOfDemeter Call to `getItems` on foreign value `contextMenu` (degree 1) 3 143
LawOfDemeter Call to `getSelectionModel` on foreign value `sidebarListView` (degree 1) 3 161
LawOfDemeter Call to `selectedItemProperty` on foreign value `sidebarListView.getSelectionModel()` (degree 2) 3 161

de/spiritscorp/datasync/gui/WorkspaceView.java

Rule Violation Priority Line
ExcessiveImports A high number of imports can indicate a high degree of coupling within an object. 3 1585
CouplingBetweenObjects A value of 33 may denote a high amount of coupling within the class (threshold: 20) 3 1585
CommentRequired Field comments are required 3 79
CommentRequired Field comments are required 3 80
LongVariable Avoid excessively long variable names like workspaceHeaderLabel 3 81
CommentRequired Field comments are required 3 81
CommentRequired Field comments are required 3 82
CommentRequired Field comments are required 3 83
CommentRequired Field comments are required 3 84
CommentRequired Field comments are required 3 86
CommentRequired Field comments are required 3 87
CommentRequired Field comments are required 3 88
CommentRequired Field comments are required 3 89
CommentRequired Field comments are required 3 91
CommentRequired Field comments are required 3 92
CommentRequired Field comments are required 3 93
CommentRequired Field comments are required 3 94
CommentRequired Field comments are required 3 95
CommentRequired Enum comments are required 3 97
CommentRequired Field comments are required 3 102
MethodArgumentCouldBeFinal Parameter 'cssClass' is not assigned and could be declared final 3 104
CallSuperInConstructor It is a good practice to call super() in a constructor 3 117
MethodArgumentCouldBeFinal Parameter 'mainGui' is not assigned and could be declared final 3 117
MethodArgumentCouldBeFinal Parameter 'controller' is not assigned and could be declared final 3 117
LawOfDemeter Call to `getChildren` on foreign value `controlToolbar` (degree 1) 3 140
LawOfDemeter Call to `getChildren` on foreign value `statusFooter` (degree 1) 3 158
LawOfDemeter Call to `getColumns` on foreign value `duplicateTable` (degree 1) 3 193
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 3 212
ShortVariable Avoid variables with short names like p 3 219
LawOfDemeter Call to `getPreference` on foreign value `job` (degree 1) 3 219
LawOfDemeter Call to `getSourcePath` on foreign value `p` (degree 2) 3 220
LawOfDemeter Call to `getDestPath` on foreign value `p` (degree 2) 3 221
LawOfDemeter Call to `getDestPath` on foreign value `p` (degree 2) 3 221
LawOfDemeter Call to `getSelectedMode` on foreign value `job` (degree 1) 3 224
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 3 225
LawOfDemeter Call to `getSelectedMode` on foreign value `job` (degree 1) 3 227
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 3 228
MethodArgumentCouldBeFinal Parameter 'content' is not assigned and could be declared final 3 242
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 3 243
LawOfDemeter Call to `getChildren` on foreign value `centerViewport` (degree 1) 3 247
MethodArgumentCouldBeFinal Parameter 'job' is not assigned and could be declared final 3 254
MethodArgumentCouldBeFinal Parameter 'message' is not assigned and could be declared final 3 280
MethodArgumentCouldBeFinal Parameter 'cssNotifyStatus' is not assigned and could be declared final 3 280
MethodArgumentCouldBeFinal Parameter 'durationSec' is not assigned and could be declared final 3 280
LongVariable Avoid excessively long variable names like originalContextText 3 281
LawOfDemeter Call to `getStyleClass` on foreign value `contextInfoLabel` (degree 1) 3 284
LawOfDemeter Call to `getStyleClass` on foreign value `contextInfoLabel` (degree 1) 3 307
LawOfDemeter Call to `getStyleClass` on foreign value `contextInfoLabel` (degree 1) 3 314
NcssCount The method 'buildSettingsGridTab(SyncJobContext)' has a NCSS line count of 74. 3 325
CognitiveComplexity The method 'buildSettingsGridTab(SyncJobContext)' has a cognitive complexity of 17, current threshold is 15 3 325
MethodArgumentCouldBeFinal Parameter 'job' is not assigned and could be declared final 3 325
LawOfDemeter Call to `getItems` on foreign value `taskModeComboBox` (degree 1) 3 337
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 2) 3 338
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 2) 3 338
LongVariable Avoid excessively long variable names like dynamicPathsContainer 3 345
LawOfDemeter Call to `getSourcePath` on foreign value `pref` (degree 2) 3 349
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 350
LawOfDemeter Call to `getSourcePath` on foreign value `pref` (degree 2) 3 350
LawOfDemeter Call to `getDestPath` on foreign value `pref` (degree 2) 3 352
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 3 353
LawOfDemeter Call to `getDestPath` on foreign value `pref` (degree 2) 3 353
LawOfDemeter Call to `isSubDir` on foreign value `pref` (degree 2) 3 364
LawOfDemeter Call to `isTrashbin` on foreign value `pref` (degree 2) 3 372
LawOfDemeter Call to `isAutoDel` on foreign value `pref` (degree 2) 3 375
LawOfDemeter Call to `isAutoSync` on foreign value `pref` (degree 2) 3 378
LawOfDemeter Call to `isLogOn` on foreign value `pref` (degree 2) 3 381
LawOfDemeter Call to `isBgSync` on foreign value `pref` (degree 2) 3 384
LawOfDemeter Call to `getItems` on foreign value `bgTimeComboBox` (degree 1) 3 390
LawOfDemeter Call to `getSelectionModel` on foreign value `bgTimeComboBox` (degree 1) 3 391
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 2) 3 391
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 2) 3 391
LongVariable Avoid excessively long variable names like globalAutostartCheck 3 401
MethodArgumentCouldBeFinal Parameter 'item' is not assigned and could be declared final 3 411
MethodArgumentCouldBeFinal Parameter 'empty' is not assigned and could be declared final 3 411
MethodArgumentCouldBeFinal Parameter 'item' is not assigned and could be declared final 3 418
MethodArgumentCouldBeFinal Parameter 'empty' is not assigned and could be declared final 3 418
LawOfDemeter Call to `getSelectionModel` on foreign value `themeComboBox` (degree 1) 3 423
LawOfDemeter Call to `getPreference` on foreign value `job` (degree 1) 3 435
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 449
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 450
ConfusingTernary Avoid if (x != y) ..; else ..; 3 452458
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 452
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 3 452
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 453
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 3 454
CognitiveComplexity The method 'renderContextPaths(ScanType, VBox, Preference, PathContext)' has a cognitive complexity of 34, current threshold is 15 3 472
CyclomaticComplexity The method 'renderContextPaths(ScanType, VBox, Preference, PathContext)' has a cyclomatic complexity of 14. 3 472
NPathComplexity The method 'renderContextPaths(ScanType, VBox, Preference, PathContext)' has an NPath complexity of 676, current threshold is 200 3 472
MethodArgumentCouldBeFinal Parameter 'type' is not assigned and could be declared final 3 472
MethodArgumentCouldBeFinal Parameter 'container' is not assigned and could be declared final 3 472
MethodArgumentCouldBeFinal Parameter 'pref' is not assigned and could be declared final 3 472
MethodArgumentCouldBeFinal Parameter 'pathCtx' is not assigned and could be declared final 3 472
LawOfDemeter Call to `getChildren` on foreign value `container` (degree 1) 3 473
LawOfDemeter Call to `getChildren` on foreign value `container` (degree 1) 3 480
ShortVariable Avoid variables with short names like f 3 488
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 1) 3 488
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 491
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 492
ShortVariable Avoid variables with short names like f 3 505
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 1) 3 505
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 3 508
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 3 509
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 522
ShortVariable Avoid variables with short names like f 3 530
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 530
LawOfDemeter Call to `getLast` on foreign value `pathCtx.sources` (degree 2) 3 530
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 1) 3 530
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 533
LawOfDemeter Call to `getSelectionModel` on foreign value `pathsListView` (degree 1) 3 538
LawOfDemeter Access to field `sources` on foreign value `pathCtx` (degree 1) 3 541
LawOfDemeter Call to `getChildren` on foreign value `multiSrcBox` (degree 1) 3 545
ShortVariable Avoid variables with short names like f 3 555
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 3 555
LawOfDemeter Call to `getFirst` on foreign value `pathCtx.destinations` (degree 2) 3 555
LawOfDemeter Call to `getScanMode` on foreign value `pref` (degree 1) 3 555
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 3 558
LawOfDemeter Access to field `destinations` on foreign value `pathCtx` (degree 1) 3 559
LawOfDemeter Call to `getChildren` on foreign value `container` (degree 1) 3 567
MethodArgumentCouldBeFinal Parameter 'initialDir' is not assigned and could be declared final 3 570
MethodArgumentCouldBeFinal Parameter 'title' is not assigned and could be declared final 3 570
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 582
CommentRequired Field comments are required 3 582
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 583
CommentRequired Field comments are required 3 583

de/spiritscorp/datasync/io/ConfigException.java

Rule Violation Priority Line
CommentRequired Class comments are required 3 23
MethodArgumentCouldBeFinal Parameter 'args' is not assigned and could be declared final 3 27
MethodArgumentCouldBeFinal Parameter 'throwable' is not assigned and could be declared final 3 32

de/spiritscorp/datasync/io/Debug.java

Rule Violation Priority Line
LawOfDemeter Call to `getDebugPath` on foreign value `PreferenceManager.getInstance()` (degree 1) 3 139

de/spiritscorp/datasync/io/IOSyncMap.java

Rule Violation Priority Line
CommentRequired Field comments are required 3 49
MethodArgumentCouldBeFinal Parameter 'jobName' is not assigned and could be declared final 3 54
LawOfDemeter Call to `getConfigPath` on foreign value `PreferenceManager.getInstance()` (degree 1) 3 55
LawOfDemeter Call to `getParent` on foreign value `PreferenceManager.getInstance().getConfigPath()` (degree 2) 3 55
LawOfDemeter Call to `resolve` on foreign value `PreferenceManager.getInstance().getConfigPath().getParent()` (degree 2) 3 55
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 3 58
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 3 6572
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 3 96
ShortVariable Avoid variables with short names like os 3 97
LooseCoupling Avoid using implementation types like 'HashMap'; use the interface instead 3 98
ShortVariable Avoid variables with short names like jw 3 103
CloseResource it is recommended to wrap resource 'jw' in try-with-resource declaration directly 3 103
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 3 111
ShortVariable Avoid variables with short names like jo 3 112
LawOfDemeter Call to `getRelativeFilePath` on foreign value `entry.getValue()` (degree 1) 3 115
LawOfDemeter Call to `getCreateTime` on foreign value `entry.getValue()` (degree 1) 3 118
LawOfDemeter Call to `getModTime` on foreign value `entry.getValue()` (degree 1) 3 119
LawOfDemeter Call to `getRelativeFilePath` on foreign value `entry.getValue()` (degree 1) 3 123

de/spiritscorp/datasync/io/Preference.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=68, ATFD=9, TCC=11.111%) 3 49
CommentRequired Field comments are required 3 51
CommentRequired Field comments are required 3 52
CommentRequired Field comments are required 3 53
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 55
CommentRequired Field comments are required 3 55
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 56
CommentRequired Field comments are required 3 56
CommentRequired Field comments are required 3 57
CommentRequired Field comments are required 3 59
CommentRequired Field comments are required 3 60
CommentRequired Field comments are required 3 61
CommentRequired Field comments are required 3 62
CommentRequired Field comments are required 3 64
CommentRequired Field comments are required 3 65
CommentRequired Field comments are required 3 67
CommentRequired Field comments are required 3 68
CommentRequired Field comments are required 3 69
CommentRequired Field comments are required 3 70
CommentRequired Field comments are required 3 71
CommentRequired Field comments are required 3 72
CommentRequired Field comments are required 3 73
MethodArgumentCouldBeFinal Parameter 'jobName' is not assigned and could be declared final 3 75
LawOfDemeter Call to `getConfigPath` on foreign value `PreferenceManager.getInstance()` (degree 1) 3 81
LawOfDemeter Call to `getParent` on foreign value `PreferenceManager.getInstance().getConfigPath()` (degree 2) 3 81
LawOfDemeter Call to `resolve` on foreign value `PreferenceManager.getInstance().getConfigPath().getParent()` (degree 2) 3 81
MethodArgumentCouldBeFinal Parameter 'jobName' is not assigned and could be declared final 3 91
CognitiveComplexity The method 'deserialize(JsonObject)' has a cognitive complexity of 30, current threshold is 15 3 135
CyclomaticComplexity The method 'deserialize(JsonObject)' has a cyclomatic complexity of 23. 3 135
NPathComplexity The method 'deserialize(JsonObject)' has an NPath complexity of 14581, current threshold is 200 3 135
MethodArgumentCouldBeFinal Parameter 'json' is not assigned and could be declared final 3 135
ShortVariable Avoid variables with short names like p 3 145
ShortVariable Avoid variables with short names like p 3 160
ShortVariable Avoid variables with short names like p 3 168
ShortVariable Avoid variables with short names like p 3 173
AvoidCatchingGenericException Avoid catching generic exceptions such as NullPointerException, RuntimeException, Exception in try-catch block 3 215
MethodArgumentCouldBeFinal Parameter 'json' is not assigned and could be declared final 3 231
MethodArgumentCouldBeFinal Parameter 'key' is not assigned and could be declared final 3 231
MethodArgumentCouldBeFinal Parameter 'defaultValue' is not assigned and could be declared final 3 231
ShortVariable Avoid variables with short names like bw 3 245
ShortVariable Avoid variables with short names like br 3 260
CommentRequired Public method and constructor comments are required 3 268
MethodArgumentCouldBeFinal Parameter 'newName' is not assigned and could be declared final 3 275
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 277
CommentRequired Public method and constructor comments are required 3 277
CommentRequired Public method and constructor comments are required 3 279
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 279
MethodArgumentCouldBeFinal Parameter 'paths' is not assigned and could be declared final 3 279
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 281
CommentRequired Public method and constructor comments are required 3 281
CommentRequired Public method and constructor comments are required 3 283
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 283
MethodArgumentCouldBeFinal Parameter 'paths' is not assigned and could be declared final 3 283
ShortVariable Avoid variables with short names like p 3 287
MethodArgumentCouldBeFinal Parameter 'p' is not assigned and could be declared final 3 287
ShortVariable Avoid variables with short names like p 3 291
MethodArgumentCouldBeFinal Parameter 'p' is not assigned and could be declared final 3 291
MethodArgumentCouldBeFinal Parameter 'mode' is not assigned and could be declared final 3 300
MethodArgumentCouldBeFinal Parameter 'time' is not assigned and could be declared final 3 304
MethodArgumentCouldBeFinal Parameter 'logOn' is not assigned and could be declared final 3 308
MethodArgumentCouldBeFinal Parameter 'subDir' is not assigned and could be declared final 3 312
MethodArgumentCouldBeFinal Parameter 'autoDel' is not assigned and could be declared final 3 316
MethodArgumentCouldBeFinal Parameter 'autoBgDel' is not assigned and could be declared final 3 320
MethodArgumentCouldBeFinal Parameter 'autoSync' is not assigned and could be declared final 3 324
MethodArgumentCouldBeFinal Parameter 'bgSync' is not assigned and could be declared final 3 328
MethodArgumentCouldBeFinal Parameter 'trashbin' is not assigned and could be declared final 3 332

de/spiritscorp/datasync/io/PreferenceManager.java

Rule Violation Priority Line
GodClass Possible God Class (WMC=55, ATFD=15, TCC=27.368%) 3 54
AvoidSynchronizedAtMethodLevel Use block level locking rather than method level synchronization 3 268
AvoidDuplicateLiterals The String literal "globalSettings" appears 4 times in this file; the first occurrence is on line 283 3 283
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 290
LiteralsFirstInComparisons Position literals first in String comparisons 3 383
CommentRequired Public method and constructor comments are required 3 459

de/spiritscorp/datasync/model/BgModel.java

Rule Violation Priority Line
CommentRequired Class comments are required 3 33
CommentRequired Field comments are required 3 35
CommentRequired Field comments are required 3 36
CommentRequired Field comments are required 3 37
OneDeclarationPerLine Use one line for each declaration, it enhances code readability. 4 37
CommentRequired Public method and constructor comments are required 3 39
MethodArgumentCouldBeFinal Parameter 'pref' is not assigned and could be declared final 3 39
MethodArgumentCouldBeFinal Parameter 'logger' is not assigned and could be declared final 3 39
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 3 39
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 3 39
NcssCount The method 'runBgJob()' has a NCSS line count of 78. 3 52
CognitiveComplexity The method 'runBgJob()' has a cognitive complexity of 49, current threshold is 15 3 52
CyclomaticComplexity The method 'runBgJob()' has a cyclomatic complexity of 17. 3 52
CollapsibleIfStatements This if statement could be combined with its parent 3 65110
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 1) 3 65
ShortVariable Avoid variables with short names like t1 3 68
ShortVariable Avoid variables with short names like t2 3 69
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 88
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 92
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 93
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 94
CollapsibleIfStatements This if statement could be combined with its parent 3 114141
LawOfDemeter Call to `getBgTime` on foreign value `pref` (degree 1) 3 114
ShortVariable Avoid variables with short names like t1 3 117
ShortVariable Avoid variables with short names like t2 3 118
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 135
AvoidDeeplyNestedIfStmts Deeply nested if..then statements are hard to read 3 136
AvoidLiteralsInIfCondition Avoid using literals such as 1000 in if statements 3 156

de/spiritscorp/datasync/model/FileAttributes.java

Rule Violation Priority Line
CommentRequired Field comments are required 3 40
CommentRequired Field comments are required 3 41
CommentRequired Field comments are required 3 42
CommentRequired Field comments are required 3 43
CommentRequired Field comments are required 3 44
CommentRequired Field comments are required 3 45
CommentRequired Field comments are required 3 46
CommentRequired Field comments are required 3 47
MethodArgumentCouldBeFinal Parameter 'relativeFilePath' is not assigned and could be declared final 3 61
MethodArgumentCouldBeFinal Parameter 'createTimeString' is not assigned and could be declared final 3 61
MethodArgumentCouldBeFinal Parameter 'createTime' is not assigned and could be declared final 3 61
MethodArgumentCouldBeFinal Parameter 'modTimeString' is not assigned and could be declared final 3 61
MethodArgumentCouldBeFinal Parameter 'modTime' is not assigned and could be declared final 3 61
MethodArgumentCouldBeFinal Parameter 'size' is not assigned and could be declared final 3 61
MethodArgumentCouldBeFinal Parameter 'fileHash' is not assigned and could be declared final 3 61
ShortVariable Avoid variables with short names like o 3 85
MethodArgumentCouldBeFinal Parameter 'o' is not assigned and could be declared final 3 85
CognitiveComplexity The method 'equals(Object)' has a cognitive complexity of 20, current threshold is 15 3 102
CyclomaticComplexity The method 'equals(Object)' has a cyclomatic complexity of 17. 3 102
MethodArgumentCouldBeFinal Parameter 'obj' is not assigned and could be declared final 3 102
SimplifyBooleanReturns This if statement can be replaced by `return !{condition};` 3 130131

de/spiritscorp/datasync/model/FileHandler.java

Rule Violation Priority Line
CommentRequired Class comments are required 3 41
GodClass Possible God Class (WMC=84, ATFD=65, TCC=4.444%) 3 41
CyclomaticComplexity The class 'FileHandler' has a total cyclomatic complexity of 84 (highest 13). 3 41
CommentRequired Field comments are required 3 43
CommentRequired Field comments are required 3 44
MethodArgumentCouldBeFinal Parameter 'log' is not assigned and could be declared final 3 46
CognitiveComplexity The method 'listFiles(ArrayList<Path>, Map<Path, FileAttributes>, ScanType, boolean)' has a cognitive complexity of 16, current threshold is 15 3 60
CyclomaticComplexity The method 'listFiles(ArrayList<Path>, Map<Path, FileAttributes>, ScanType, boolean)' has a cyclomatic complexity of 11. 3 60
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 60
MethodArgumentCouldBeFinal Parameter 'paths' is not assigned and could be declared final 3 60
MethodArgumentCouldBeFinal Parameter 'resultMap' is not assigned and could be declared final 3 60
MethodArgumentCouldBeFinal Parameter 'deepScan' is not assigned and could be declared final 3 60
MethodArgumentCouldBeFinal Parameter 'subDir' is not assigned and could be declared final 3 60
CloseResource Ensure that resources like this ExecutorService object are closed after use 3 61
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 3 72
ExceptionAsFlowControl Exception thrown at line 83 is caught in this block. 3 8689
CognitiveComplexity The method 'findDuplicates(Map<Path, FileAttributes>)' has a cognitive complexity of 23, current threshold is 15 3 102
CyclomaticComplexity The method 'findDuplicates(Map<Path, FileAttributes>)' has a cyclomatic complexity of 10. 3 102
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 3 102
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 106
UseConcurrentHashMap If you run in Java5 or newer and have concurrent access, you should use the ConcurrentHashMap implementation 3 106
AvoidInstantiatingObjectsInLoops Avoid instantiating new objects inside loops 3 113
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 118
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 120
AvoidLiteralsInIfCondition Avoid using literals such as 1 in if statements 3 121
CognitiveComplexity The method 'equalsFiles(Map<Path, FileAttributes>, Map<Path, FileAttributes>)' has a cognitive complexity of 30, current threshold is 15 3 143
CyclomaticComplexity The method 'equalsFiles(Map<Path, FileAttributes>, Map<Path, FileAttributes>)' has a cyclomatic complexity of 13. 3 143
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 3 143
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 3 143
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 145
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 145
AvoidLiteralsInIfCondition Avoid using literals such as 30_000 in if statements 3 148
CloseResource Ensure that resources like this ExecutorService object are closed after use 3 149
ShortVariable Avoid variables with short names like t1 3 172
ShortVariable Avoid variables with short names like t2 3 173
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 210
CognitiveComplexity The method 'getSyncFiles(Map<Path, FileAttributes>, Map<Path, FileAttributes>, Path, Path, Map<Path, FileAttributes>)' has a cognitive complexity of 25, current threshold is 15 3 210
CyclomaticComplexity The method 'getSyncFiles(Map<Path, FileAttributes>, Map<Path, FileAttributes>, Path, Path, Map<Path, FileAttributes>)' has a cyclomatic complexity of 11. 3 210
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 3 210
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 3 210
MethodArgumentCouldBeFinal Parameter 'startSourcePath' is not assigned and could be declared final 3 210
MethodArgumentCouldBeFinal Parameter 'startDestPath' is not assigned and could be declared final 3 210
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 3 211
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 213
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 214
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 225
UseCollectionIsEmpty Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty() 3 225
CloseResource Ensure that resources like this ExecutorService object are closed after use 3 227
CognitiveComplexity The method 'deleteFiles(Map<Path, FileAttributes>, boolean, boolean, Path)' has a cognitive complexity of 16, current threshold is 15 3 278
CyclomaticComplexity The method 'deleteFiles(Map<Path, FileAttributes>, boolean, boolean, Path)' has a cyclomatic complexity of 10. 3 278
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 3 278
MethodArgumentCouldBeFinal Parameter 'logOn' is not assigned and could be declared final 3 278
MethodArgumentCouldBeFinal Parameter 'trashbin' is not assigned and could be declared final 3 278
MethodArgumentCouldBeFinal Parameter 'trashbinPath' is not assigned and could be declared final 3 278
CognitiveComplexity The method 'copyFiles(Map<Path, FileAttributes>, boolean, Path)' has a cognitive complexity of 16, current threshold is 15 3 330
CyclomaticComplexity The method 'copyFiles(Map<Path, FileAttributes>, boolean, Path)' has a cyclomatic complexity of 11. 3 330
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 3 330
MethodArgumentCouldBeFinal Parameter 'logOn' is not assigned and could be declared final 3 330
MethodArgumentCouldBeFinal Parameter 'destPath' is not assigned and could be declared final 3 330
MethodArgumentCouldBeFinal Parameter 'iterateMap' is not assigned and could be declared final 3 377
MethodArgumentCouldBeFinal Parameter 'fullMap' is not assigned and could be declared final 3 377
MethodArgumentCouldBeFinal Parameter 'hitList' is not assigned and could be declared final 3 377
CommentSize Comment is too large: Too many lines 3 386420
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 3 421
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 3 421
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 421
MethodArgumentCouldBeFinal Parameter 'resultValue' is not assigned and could be declared final 3 421
MethodArgumentCouldBeFinal Parameter 'startDestPath' is not assigned and could be declared final 3 421
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 3 422
MethodArgumentCouldBeFinal Parameter 'source' is not assigned and could be declared final 3 489
MethodArgumentCouldBeFinal Parameter 'dest' is not assigned and could be declared final 3 489
LawOfDemeter Call to `getModTime` on foreign value `source` (degree 1) 3 491
LawOfDemeter Call to `getModTime` on foreign value `dest` (degree 1) 3 491
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 3 506
MethodArgumentCouldBeFinal Parameter 'avProc' is not assigned and could be declared final 3 506
ShortVariable Avoid variables with short names like i 3 512
ShortVariable Avoid variables with short names like j 3 513

de/spiritscorp/datasync/model/FileScan.java

Rule Violation Priority Line
CommentRequired Class comments are required 3 39
CommentRequired Field comments are required 3 41
CommentRequired Field comments are required 3 42
CommentRequired Field comments are required 3 43
CommentRequired Field comments are required 3 44
CommentRequired Field comments are required 3 45
MethodArgumentCouldBeFinal Parameter 'path' is not assigned and could be declared final 3 55
MethodArgumentCouldBeFinal Parameter 'startPath' is not assigned and could be declared final 3 55
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 3 55
MethodArgumentCouldBeFinal Parameter 'scanType' is not assigned and could be declared final 3 55
MethodArgumentCouldBeFinal Parameter 'bfa' is not assigned and could be declared final 3 55
ExhaustiveSwitchHasDefault The switch block is exhaustive even without the default case 3 107111

de/spiritscorp/datasync/model/FileVisit.java

Rule Violation Priority Line
CommentRequired Class comments are required 3 34
CommentRequired Field comments are required 3 35
CommentRequired Field comments are required 3 36
CommentRequired Field comments are required 3 37
CommentRequired Field comments are required 3 38
MethodArgumentCouldBeFinal Parameter 'executor' is not assigned and could be declared final 3 46
MethodArgumentCouldBeFinal Parameter 'path' is not assigned and could be declared final 3 46
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 3 46
MethodArgumentCouldBeFinal Parameter 'deepScan' is not assigned and could be declared final 3 46
MethodArgumentCouldBeFinal Parameter 'dir' is not assigned and could be declared final 3 54
MethodArgumentCouldBeFinal Parameter 'attrs' is not assigned and could be declared final 3 54
CollapsibleIfStatements This if statement could be combined with its parent 3 5662
MethodArgumentCouldBeFinal Parameter 'file' is not assigned and could be declared final 3 68
MethodArgumentCouldBeFinal Parameter 'attrs' is not assigned and could be declared final 3 68

de/spiritscorp/datasync/model/Model.java

Rule Violation Priority Line
CommentRequired Field comments are required 3 51
CommentRequired Field comments are required 3 52
CommentRequired Field comments are required 3 53
MethodArgumentCouldBeFinal Parameter 'logger' is not assigned and could be declared final 3 65
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 3 65
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 3 65
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 106
MethodArgumentCouldBeFinal Parameter 'sourcePathes' is not assigned and could be declared final 3 106
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 106
MethodArgumentCouldBeFinal Parameter 'destPathes' is not assigned and could be declared final 3 106
MethodArgumentCouldBeFinal Parameter 'stats' is not assigned and could be declared final 3 106
MethodArgumentCouldBeFinal Parameter 'deepScan' is not assigned and could be declared final 3 106
MethodArgumentCouldBeFinal Parameter 'subDir' is not assigned and could be declared final 3 106
ShortVariable Avoid variables with short names like t1 3 108
ShortVariable Avoid variables with short names like t2 3 109
LinguisticNaming Linguistics Antipattern - The getter 'getEqualsFiles' should not return void linguistically 3 133
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 153
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 3 153
MethodArgumentCouldBeFinal Parameter 'sourcePath' is not assigned and could be declared final 3 153
MethodArgumentCouldBeFinal Parameter 'destPath' is not assigned and could be declared final 3 153
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 155
MethodArgumentCouldBeFinal Parameter 'del' is not assigned and could be declared final 3 175
MethodArgumentCouldBeFinal Parameter 'logOn' is not assigned and could be declared final 3 175
MethodArgumentCouldBeFinal Parameter 'destPath' is not assigned and could be declared final 3 175
MethodArgumentCouldBeFinal Parameter 'trashbin' is not assigned and could be declared final 3 175
MethodArgumentCouldBeFinal Parameter 'trashbinPath' is not assigned and could be declared final 3 175
MethodArgumentCouldBeFinal Parameter 'ctx' is not assigned and could be declared final 3 195
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 195
MethodArgumentCouldBeFinal Parameter 'result' is not assigned and could be declared final 3 195
MethodArgumentCouldBeFinal Parameter 'syncMap' is not assigned and could be declared final 3 195
MethodArgumentCouldBeFinal Parameter 'sourcePath' is not assigned and could be declared final 3 195
MethodArgumentCouldBeFinal Parameter 'destPath' is not assigned and could be declared final 3 195
MethodArgumentCouldBeFinal Parameter 'testOn' is not assigned and could be declared final 3 195
LawOfDemeter Call to `getPreference` on foreign value `ctx` (degree 1) 3 205
LawOfDemeter Call to `getPreference` on foreign value `ctx` (degree 1) 3 209
LooseCoupling Avoid using implementation types like 'ArrayList'; use the interface instead 3 224
MethodArgumentCouldBeFinal Parameter 'sourceMap' is not assigned and could be declared final 3 244
MethodArgumentCouldBeFinal Parameter 'destMap' is not assigned and could be declared final 3 244
LiteralsFirstInComparisons Position literals first in String comparisons 3 248
LiteralsFirstInComparisons Position literals first in String comparisons 3 255
MethodArgumentCouldBeFinal Parameter 'map' is not assigned and could be declared final 3 272

de/spiritscorp/datasync/theme/DarkSlateTheme.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 28
MethodArgumentCouldBeFinal Parameter 'scene' is not assigned and could be declared final 3 31
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 3 292
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 3 293

de/spiritscorp/datasync/theme/MatrixTerminalTheme.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 29
MethodArgumentCouldBeFinal Parameter 'scene' is not assigned and could be declared final 3 31
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 3 147
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 3 148

de/spiritscorp/datasync/theme/NordicLightTheme.java

Rule Violation Priority Line
AtLeastOneConstructor Each class should declare at least one constructor 3 28
MethodArgumentCouldBeFinal Parameter 'scene' is not assigned and could be declared final 3 30
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 3 69
LawOfDemeter Call to `getStylesheets` on foreign value `scene` (degree 1) 3 70