Fork me on GitHub

SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.5.0

Threshold is low

Effort is max

Summary

Classes Bugs Errors Missing Classes
82 14 0 0

Files

Class Bugs
it.tidalwave.util.impl.DefaultAs 2
it.tidalwave.util.impl.MappingFinder 2
it.tidalwave.util.impl.ProviderFinder 1
it.tidalwave.util.impl.SupplierFinder 1
it.tidalwave.util.spi.AsDelegateProvider$EmptyAsDelegateProvider 1
it.tidalwave.util.spi.DefaultProcessExecutor 3
it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput 4

it.tidalwave.util.impl.DefaultAs

Bug Category Details Line Priority
Overridable method createAsDelegate is called from constructor new it.tidalwave.util.impl.DefaultAs(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 68 Low
Overridable method createAsDelegate is called from constructor new it.tidalwave.util.impl.DefaultAs(Object, Collection). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 111 Low

it.tidalwave.util.impl.MappingFinder

Bug Category Details Line Priority
The field it.tidalwave.util.impl.MappingFinder.delegate is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Medium
The field it.tidalwave.util.impl.MappingFinder.decorator is transient but isn't set by deserialization BAD_PRACTICE SE_TRANSIENT_FIELD_NOT_RESTORED Low

it.tidalwave.util.impl.ProviderFinder

Bug Category Details Line Priority
Class it.tidalwave.util.impl.ProviderFinder defines non-transient non-serializable instance field supplier BAD_PRACTICE SE_BAD_FIELD Medium

it.tidalwave.util.impl.SupplierFinder

Bug Category Details Line Priority
Class it.tidalwave.util.impl.SupplierFinder defines non-transient non-serializable instance field supplier BAD_PRACTICE SE_BAD_FIELD Medium

it.tidalwave.util.spi.AsDelegateProvider$EmptyAsDelegateProvider

Bug Category Details Line Priority

it.tidalwave.util.spi.DefaultProcessExecutor

Bug Category Details Line Priority
Use of non-localized String.toUpperCase() or String.toLowerCase() in it.tidalwave.util.spi.DefaultProcessExecutor.isWindows() I18N DM_CONVERT_CASE 483 Low
Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor.start(): new java.io.PrintWriter(OutputStream, boolean) I18N DM_DEFAULT_ENCODING 428 High
Useless control flow in it.tidalwave.util.spi.DefaultProcessExecutor.waitForCompletion() STYLE UCF_USELESS_CONTROL_FLOW 455 Low

it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput

Bug Category Details Line Priority
Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read(): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 279 High
Naked notify in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read() MT_CORRECTNESS NN_NAKED_NOTIFY 319 Medium
Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.start() BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 157 Low
Unconditional wait in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.waitFor(String) MT_CORRECTNESS UW_UNCOND_WAIT 252 Low