Fork me on GitHub

SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.8.6

Threshold is low

Effort is max

Summary

Classes Bugs Errors Missing Classes
111 24 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 1
it.tidalwave.util.ShortNames 1
it.tidalwave.util.impl.DefaultPreferencesHandler 4
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.util.spi.HierarchicFinderSupport 2
it.tidalwave.util.thread.ThreadAssertions 1

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 183 Low

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.impl.DefaultPreferencesHandler

Bug Category Details Line Priority
Exception thrown in class it.tidalwave.util.impl.DefaultPreferencesHandler at new it.tidalwave.util.impl.DefaultPreferencesHandler() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 85 Medium
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

it.tidalwave.util.spi.HierarchicFinderSupport

Bug Category Details Line Priority
Exception thrown in class it.tidalwave.util.spi.HierarchicFinderSupport at new it.tidalwave.util.spi.HierarchicFinderSupport() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 129 Medium
Exception thrown in class it.tidalwave.util.spi.HierarchicFinderSupport at new it.tidalwave.util.spi.HierarchicFinderSupport(String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 114 Medium

it.tidalwave.util.thread.ThreadAssertions

Bug Category Details Line Priority
Assertion validates method argument at it.tidalwave.util.thread.ThreadAssertions.assertThread(ThreadType). If assertions are disabled, there won't be any argument validation. BAD_PRACTICE AA_ASSERTION_OF_ARGUMENTS 52 Low