<reportApi _class='io.jenkins.plugins.analysis.core.restapi.ReportApi'><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>ReflectionUtils.java</baseName><category>MALICIOUS_CODE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/ReflectionUtils.java</fileName><fingerprint>77d808d30e81a0e03d34e00d01193a5b</fingerprint><lineEnd>187</lineEnd><lineStart>187</lineStart><message>Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in it.tidalwave.util.ReflectionUtils.injectDependencies(Object, Map)</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util</packageName><reference>1325</reference><severity>LOW</severity><toString>ReflectionUtils.java(187,0): DP_DO_INSIDE_DO_PRIVILEGED: MALICIOUS_CODE: Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in it.tidalwave.util.ReflectionUtils.injectDependencies(Object, Map)</toString><type>DP_DO_INSIDE_DO_PRIVILEGED</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>AsDelegate.java</baseName><category>MALICIOUS_CODE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/impl/AsDelegate.java</fileName><fingerprint>5d099d8ef542ce57d90da1d750d3be0d</fingerprint><lineEnd>68</lineEnd><lineStart>68</lineStart><message>Overridable method createRoleFactory is called from constructor new it.tidalwave.util.impl.AsDelegate().</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.impl</packageName><reference>1325</reference><severity>LOW</severity><toString>AsDelegate.java(68,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method createRoleFactory is called from constructor new it.tidalwave.util.impl.AsDelegate().</toString><type>MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>AsDelegate.java</baseName><category>MALICIOUS_CODE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/impl/AsDelegate.java</fileName><fingerprint>2e4096fe497b49de72e1a6ff76d839d0</fingerprint><lineEnd>105</lineEnd><lineStart>105</lineStart><message>Overridable method createRoleFactory is called from constructor new it.tidalwave.util.impl.AsDelegate(Object, Collection).</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.impl</packageName><reference>1325</reference><severity>LOW</severity><toString>AsDelegate.java(105,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method createRoleFactory is called from constructor new it.tidalwave.util.impl.AsDelegate(Object, Collection).</toString><type>MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>DefaultContextManager.java</baseName><category>PERFORMANCE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/impl/DefaultContextManager.java</fileName><fingerprint>254fb31b084d3eb6a888475056c4b92f</fingerprint><lineEnd>55</lineEnd><lineStart>55</lineStart><message>The class it.tidalwave.util.impl.DefaultContextManager$1 could be refactored into a named _static_ inner class</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.impl</packageName><reference>1325</reference><severity>LOW</severity><toString>DefaultContextManager.java(55,0): SIC_INNER_SHOULD_BE_STATIC_ANON: PERFORMANCE: The class it.tidalwave.util.impl.DefaultContextManager$1 could be refactored into a named _static_ inner class</toString><type>SIC_INNER_SHOULD_BE_STATIC_ANON</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>DefaultPreferencesHandler.java</baseName><category>BAD_PRACTICE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/impl/DefaultPreferencesHandler.java</fileName><fingerprint>a0c539ac1e34b5706cb2556060fb8dfd</fingerprint><lineEnd>84</lineEnd><lineStart>84</lineStart><message>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.</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.impl</packageName><reference>1325</reference><severity>LOW</severity><toString>DefaultPreferencesHandler.java(84,0): CT_CONSTRUCTOR_THROW: BAD_PRACTICE: 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.</toString><type>CT_CONSTRUCTOR_THROW</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>MappingFinder.java</baseName><category>BAD_PRACTICE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/impl/finder/MappingFinder.java</fileName><fingerprint>491f0bb9e72b60c321a4e144db1e749</fingerprint><lineEnd>0</lineEnd><lineStart>0</lineStart><message>Class it.tidalwave.util.impl.finder.MappingFinder defines non-transient non-serializable instance field decorator</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.impl.finder</packageName><reference>1325</reference><severity>LOW</severity><toString>MappingFinder.java(0,0): SE_BAD_FIELD: BAD_PRACTICE: Class it.tidalwave.util.impl.finder.MappingFinder defines non-transient non-serializable instance field decorator</toString><type>SE_BAD_FIELD</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>ProviderFinder.java</baseName><category>BAD_PRACTICE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/impl/finder/ProviderFinder.java</fileName><fingerprint>78620ceffac5909bda9cff745c7c2707</fingerprint><lineEnd>0</lineEnd><lineStart>0</lineStart><message>Class it.tidalwave.util.impl.finder.ProviderFinder defines non-transient non-serializable instance field supplier</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.impl.finder</packageName><reference>1325</reference><severity>LOW</severity><toString>ProviderFinder.java(0,0): SE_BAD_FIELD: BAD_PRACTICE: Class it.tidalwave.util.impl.finder.ProviderFinder defines non-transient non-serializable instance field supplier</toString><type>SE_BAD_FIELD</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>SupplierFinder.java</baseName><category>BAD_PRACTICE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/impl/finder/SupplierFinder.java</fileName><fingerprint>d7ee15815c14bcc4a339b6f44da62359</fingerprint><lineEnd>0</lineEnd><lineStart>0</lineStart><message>Class it.tidalwave.util.impl.finder.SupplierFinder defines non-transient non-serializable instance field supplier</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.impl.finder</packageName><reference>1325</reference><severity>LOW</severity><toString>SupplierFinder.java(0,0): SE_BAD_FIELD: BAD_PRACTICE: Class it.tidalwave.util.impl.finder.SupplierFinder defines non-transient non-serializable instance field supplier</toString><type>SE_BAD_FIELD</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>DefaultProcessExecutor.java</baseName><category>I18N</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java</fileName><fingerprint>22a61a349131452fc20a230179a88cee</fingerprint><lineEnd>464</lineEnd><lineStart>464</lineStart><message>Use of non-localized String.toUpperCase() or String.toLowerCase() in it.tidalwave.util.spi.DefaultProcessExecutor.isWindows()</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.spi</packageName><reference>1325</reference><severity>LOW</severity><toString>DefaultProcessExecutor.java(464,0): DM_CONVERT_CASE: I18N: Use of non-localized String.toUpperCase() or String.toLowerCase() in it.tidalwave.util.spi.DefaultProcessExecutor.isWindows()</toString><type>DM_CONVERT_CASE</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>DefaultProcessExecutor.java</baseName><category>I18N</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java</fileName><fingerprint>546fcec2f3fc51e896f3a93765e3b9a9</fingerprint><lineEnd>417</lineEnd><lineStart>417</lineStart><message>Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor.start(): new java.io.PrintWriter(OutputStream, boolean)</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.spi</packageName><reference>1325</reference><severity>LOW</severity><toString>DefaultProcessExecutor.java(417,0): DM_DEFAULT_ENCODING: I18N: Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor.start(): new java.io.PrintWriter(OutputStream, boolean)</toString><type>DM_DEFAULT_ENCODING</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>DefaultProcessExecutor.java</baseName><category>STYLE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java</fileName><fingerprint>cf72bf19c353afd0d889c0f512a33b98</fingerprint><lineEnd>440</lineEnd><lineStart>440</lineStart><message>Useless control flow in it.tidalwave.util.spi.DefaultProcessExecutor.waitForCompletion()</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.spi</packageName><reference>1325</reference><severity>LOW</severity><toString>DefaultProcessExecutor.java(440,0): UCF_USELESS_CONTROL_FLOW: STYLE: Useless control flow in it.tidalwave.util.spi.DefaultProcessExecutor.waitForCompletion()</toString><type>UCF_USELESS_CONTROL_FLOW</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>DefaultProcessExecutor.java</baseName><category>I18N</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java</fileName><fingerprint>282979a34723be2e2509ea3ef5ab71c6</fingerprint><lineEnd>276</lineEnd><lineStart>276</lineStart><message>Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read(): new java.io.InputStreamReader(InputStream)</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.spi</packageName><reference>1325</reference><severity>LOW</severity><toString>DefaultProcessExecutor.java(276,0): DM_DEFAULT_ENCODING: I18N: Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read(): new java.io.InputStreamReader(InputStream)</toString><type>DM_DEFAULT_ENCODING</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>DefaultProcessExecutor.java</baseName><category>MT_CORRECTNESS</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java</fileName><fingerprint>a4ff01756de9ea4b0bf187d6935c6579</fingerprint><lineEnd>316</lineEnd><lineStart>316</lineStart><message>Naked notify in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read()</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.spi</packageName><reference>1325</reference><severity>LOW</severity><toString>DefaultProcessExecutor.java(316,0): NN_NAKED_NOTIFY: MT_CORRECTNESS: Naked notify in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read()</toString><type>NN_NAKED_NOTIFY</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>DefaultProcessExecutor.java</baseName><category>BAD_PRACTICE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java</fileName><fingerprint>f53c819baaf66f7ccd0135a0b88105ee</fingerprint><lineEnd>154</lineEnd><lineStart>154</lineStart><message>Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.start()</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.spi</packageName><reference>1325</reference><severity>LOW</severity><toString>DefaultProcessExecutor.java(154,0): RV_RETURN_VALUE_IGNORED_BAD_PRACTICE: BAD_PRACTICE: Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.start()</toString><type>RV_RETURN_VALUE_IGNORED_BAD_PRACTICE</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>DefaultProcessExecutor.java</baseName><category>MT_CORRECTNESS</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java</fileName><fingerprint>45757508fede6ce813179388b36a1e30</fingerprint><lineEnd>249</lineEnd><lineStart>249</lineStart><message>Unconditional wait in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.waitFor(String)</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.spi</packageName><reference>1325</reference><severity>LOW</severity><toString>DefaultProcessExecutor.java(249,0): UW_UNCOND_WAIT: MT_CORRECTNESS: Unconditional wait in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.waitFor(String)</toString><type>UW_UNCOND_WAIT</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>HierarchicFinderSupport.java</baseName><category>BAD_PRACTICE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/spi/HierarchicFinderSupport.java</fileName><fingerprint>45ae0ac40fa144e84504a769f4190259</fingerprint><lineEnd>124</lineEnd><lineStart>124</lineStart><message>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.</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.spi</packageName><reference>1325</reference><severity>LOW</severity><toString>HierarchicFinderSupport.java(124,0): CT_CONSTRUCTOR_THROW: BAD_PRACTICE: 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.</toString><type>CT_CONSTRUCTOR_THROW</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>HierarchicFinderSupport.java</baseName><category>BAD_PRACTICE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/spi/HierarchicFinderSupport.java</fileName><fingerprint>9f313e4999f382f2f216213fe663a94c</fingerprint><lineEnd>111</lineEnd><lineStart>111</lineStart><message>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.</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.spi</packageName><reference>1325</reference><severity>LOW</severity><toString>HierarchicFinderSupport.java(111,0): CT_CONSTRUCTOR_THROW: BAD_PRACTICE: 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.</toString><type>CT_CONSTRUCTOR_THROW</type></issue><issue><addedAt>0</addedAt><authorEmail>-</authorEmail><authorName>-</authorName><baseName>ThreadAssertions.java</baseName><category>BAD_PRACTICE</category><columnEnd>0</columnEnd><columnStart>0</columnStart><commit>-</commit><description></description><fileName>modules/Utilities/src/main/java/it/tidalwave/util/thread/ThreadAssertions.java</fileName><fingerprint>cb07dde94c9da84f157f453e8351e330</fingerprint><lineEnd>49</lineEnd><lineStart>49</lineStart><message>Assertion validates method argument at it.tidalwave.util.thread.ThreadAssertions.assertThread(ThreadType). If assertions are disabled, there won't be any argument validation.</message><moduleName>TheseFoolishThings :: Utilities</moduleName><origin>spotbugs</origin><originName>SpotBugs</originName><packageName>it.tidalwave.util.thread</packageName><reference>1325</reference><severity>LOW</severity><toString>ThreadAssertions.java(49,0): AA_ASSERTION_OF_ARGUMENTS: BAD_PRACTICE: Assertion validates method argument at it.tidalwave.util.thread.ThreadAssertions.assertThread(ThreadType). If assertions are disabled, there won't be any argument validation.</toString><type>AA_ASSERTION_OF_ARGUMENTS</type></issue><size>18</size><toString>18 warnings (low: 18)</toString></reportApi>