Fork me on GitHub

SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.7.3

Threshold is low

Effort is max

Summary

Classes Bugs Errors Missing Classes
111 22 0 0

Files

Class Bugs
it.tidalwave.role.impl.AsDelegate 2
it.tidalwave.role.impl.DefaultContextManager 1
it.tidalwave.role.impl.ServiceLoaderLocator 1
it.tidalwave.util.ReflectionUtils 2
it.tidalwave.util.ShortNames 1
it.tidalwave.util.StreamUtils 1
it.tidalwave.util.impl.DefaultPreferencesHandler 3
it.tidalwave.util.impl.finder.MappingFinder 2
it.tidalwave.util.impl.finder.ProviderFinder 1
it.tidalwave.util.impl.finder.SupplierFinder 1
it.tidalwave.util.spi.DefaultProcessExecutor 3
it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput 4

it.tidalwave.role.impl.AsDelegate

Bug Category Details Line Priority
Overridable method createRoleFactory is called from constructor new it.tidalwave.role.impl.AsDelegate(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 71 Low
Overridable method createRoleFactory is called from constructor new it.tidalwave.role.impl.AsDelegate(Object, Collection). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 114 Low

it.tidalwave.role.impl.DefaultContextManager

Bug Category Details Line Priority

it.tidalwave.role.impl.ServiceLoaderLocator

Bug Category Details Line Priority
Format string should use %n rather than \n in it.tidalwave.role.impl.ServiceLoaderLocator.findService(Class) BAD_PRACTICE VA_FORMAT_STRING_USES_NEWLINE 95 Medium

it.tidalwave.util.ReflectionUtils

Bug Category Details Line Priority
Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in it.tidalwave.util.ReflectionUtils.injectDependencies(Object, Map) MALICIOUS_CODE DP_DO_INSIDE_DO_PRIVILEGED 182 Low
Possible null pointer dereference in it.tidalwave.util.ReflectionUtils.getTypeArguments(Class, Class) due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 80 Medium

it.tidalwave.util.ShortNames

Bug Category Details Line Priority
Exception is caught when Exception is not thrown in it.tidalwave.util.ShortNames.shortId(Object) STYLE REC_CATCH_EXCEPTION 155 Medium

it.tidalwave.util.StreamUtils

Bug Category Details Line Priority
Random object created and used only once in it.tidalwave.util.StreamUtils.randomLocalDateTimeStream(long, LocalDateTime, LocalDateTime) BAD_PRACTICE DMI_RANDOM_USED_ONLY_ONCE 141 High

it.tidalwave.util.impl.DefaultPreferencesHandler

Bug Category Details Line Priority
Use of non-localized String.toUpperCase() or String.toLowerCase() in new it.tidalwave.util.impl.DefaultPreferencesHandler() I18N DM_CONVERT_CASE 67 Low
Format string should use %n rather than \n in new it.tidalwave.util.impl.DefaultPreferencesHandler() BAD_PRACTICE VA_FORMAT_STRING_USES_NEWLINE 95 Medium
Format string should use %n rather than \n in new it.tidalwave.util.impl.DefaultPreferencesHandler() BAD_PRACTICE VA_FORMAT_STRING_USES_NEWLINE 96 Medium

it.tidalwave.util.impl.finder.MappingFinder

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

it.tidalwave.util.impl.finder.ProviderFinder

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

it.tidalwave.util.impl.finder.SupplierFinder

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

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