FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 2.0.1

Threshold is low

Effort is max

Summary

Classes Bugs Errors Missing Classes
231 68 0 0

Files

Class Bugs
de.smartics.properties.api.config.domain.key.ApplicationIdLoader 2
de.smartics.properties.api.config.domain.key.ConfigurationKey 1
de.smartics.properties.impl.config.cache.CacheConfigurationPropertiesManagement 1
de.smartics.properties.impl.config.cache.DependencyTrackingCache 4
de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKeyContext 1
de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKeyFactory 3
de.smartics.properties.impl.config.domain.key.envapp.EnvAppKeyListBuilder 1
de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKeyContext 1
de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKeyFactory 3
de.smartics.properties.impl.config.ds.AutodetectDataSourceConfigurationPropertiesFactory 1
de.smartics.properties.impl.config.ds.DataSourceConfigurationJndiLoader 1
de.smartics.properties.impl.config.ds.DataSourceConfigurationLoader 1
de.smartics.properties.impl.config.ds.DataSourceConfigurationProperties$DsPropertyStoreAccessor 1
de.smartics.properties.impl.config.ds.DataSourceConfigurationPropertiesLoader 1
de.smartics.properties.impl.config.ds.DataSourceProxyManager 1
de.smartics.properties.impl.config.jndi.JndiConfigurationProperties$JndiPropertyStoreAccessor 1
de.smartics.properties.spi.config.cache.CacheConfigurationJndiLoader 1
de.smartics.properties.spi.config.domain.key.ConfigurationKeyContextManager 1
de.smartics.properties.spi.config.ds.DefaultDataSourceManager 15
de.smartics.properties.spi.config.ds.PropertiesStore 8
de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesFactory$1 1
de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesManagement 2
de.smartics.properties.spi.config.support.AbstractExternalConfigurationPropertiesManagement 1
de.smartics.properties.spi.config.support.AbstractInMemoryConfigurationProperties 1
de.smartics.properties.spi.config.support.AbstractInMemoryConfigurationProperties$InMemoryPropertyStoreAccessor 1
de.smartics.properties.spi.config.support.ConfigurationPropertiesManagementWithDefaults 1
de.smartics.properties.spi.config.support.ConfigurationPropertiesManagementWithDefaults$MultiPropertyStoreAccessor 1
de.smartics.properties.spi.config.support.InMemoryConfigurationRepositoryManagement 1
de.smartics.properties.spi.config.support.MappedPropertyCollection$1 1
de.smartics.properties.spi.config.support.MultiPropertyCollection$1 2
de.smartics.properties.spi.config.support.MultiSourceProperties 1
de.smartics.properties.spi.config.support.NativePropertyCollection$1 1
de.smartics.properties.spi.config.support.PropertiesPropertyCollection$1 1
de.smartics.properties.spi.config.support.PropertyLocationHelper 1
de.smartics.properties.spi.config.transfer.DefinitionXmlMessageBean 1
de.smartics.properties.spi.config.transfer.NoConfigurationKeyForPropertiesMessageBean 1
de.smartics.properties.spi.config.transfer.PropertyProviderList 1

de.smartics.properties.api.config.domain.key.ApplicationIdLoader

Bug Category Details Line Priority
Redundant nullcheck of de.smartics.properties.api.config.domain.key.ApplicationIdLoader.cache which is known to be null in de.smartics.properties.api.config.domain.key.ApplicationIdLoader.getApplicatioIdFrom(URL) STYLE RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE 301 Medium
de.smartics.properties.api.config.domain.key.ApplicationIdLoader.getApplicatioIdFrom(URL) does not release lock on all exception paths MT_CORRECTNESS UL_UNRELEASED_LOCK_EXCEPTION_PATH 304 Medium

de.smartics.properties.api.config.domain.key.ConfigurationKey

Bug Category Details Line Priority
Abstract de.smartics.properties.api.config.domain.key.ConfigurationKey defines compareTo(ConfigurationKey) method BAD_PRACTICE CO_ABSTRACT_SELF Not available Low

de.smartics.properties.impl.config.cache.CacheConfigurationPropertiesManagement

Bug Category Details Line Priority
Class de.smartics.properties.impl.config.cache.CacheConfigurationPropertiesManagement implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 28-106 Low

de.smartics.properties.impl.config.cache.DependencyTrackingCache

Bug Category Details Line Priority
Class de.smartics.properties.impl.config.cache.DependencyTrackingCache defines non-transient non-serializable instance field cache BAD_PRACTICE SE_BAD_FIELD Not available Medium
de.smartics.properties.impl.config.cache.DependencyTrackingCache.getProperty(ConfigurationProperties, PropertyDescriptor, Object) does not release lock on all paths MT_CORRECTNESS UL_UNRELEASED_LOCK 240 High
de.smartics.properties.impl.config.cache.DependencyTrackingCache.getValidatedProperty(ConfigurationProperties, PropertyDescriptor, Object) does not release lock on all paths MT_CORRECTNESS UL_UNRELEASED_LOCK 174 High
de.smartics.properties.impl.config.cache.DependencyTrackingCache.removeFromCache(PropertyCollection) does not release lock on all exception paths MT_CORRECTNESS UL_UNRELEASED_LOCK_EXCEPTION_PATH 325 Medium

de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKeyContext

Bug Category Details Line Priority
Unchecked/unconfirmed cast from de.smartics.properties.spi.config.definition.PropertiesDefinitionContext to de.smartics.properties.impl.config.domain.key.envapp.EnvAppPropertiesDefinitionContext in de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKeyContext.definitionKeyHelper(PropertiesDefinitionContext) STYLE BC_UNCONFIRMED_CAST 111 Low

de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKeyFactory

Bug Category Details Line Priority
Unchecked/unconfirmed cast from de.smartics.properties.api.config.domain.key.ConfigurationKey<?> to de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKey in de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKeyFactory.createKey(ConfigurationKey, ApplicationId) STYLE BC_UNCONFIRMED_CAST 88 Low
Unchecked/unconfirmed cast from de.smartics.properties.api.config.domain.key.ConfigurationKey<?> to de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKey in de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKeyFactory.createStaticKey(ConfigurationKey) STYLE BC_UNCONFIRMED_CAST 127 Low
Load of known null value in de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKeyFactory.createKeyFromString(String) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 100 Medium

de.smartics.properties.impl.config.domain.key.envapp.EnvAppKeyListBuilder

Bug Category Details Line Priority
Unchecked/unconfirmed cast from de.smartics.properties.api.config.domain.key.ConfigurationKey<?> to de.smartics.properties.impl.config.domain.key.envapp.EnvAppConfigurationKey in de.smartics.properties.impl.config.domain.key.envapp.EnvAppKeyListBuilder.createKeyList(ConfigurationKey) STYLE BC_UNCONFIRMED_CAST 67 Low

de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKeyContext

Bug Category Details Line Priority
Unchecked/unconfirmed cast from de.smartics.properties.spi.config.definition.PropertiesDefinitionContext to de.smartics.properties.impl.config.domain.key.rtaware.TenantUserPropertiesDefinitionContext in de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKeyContext.definitionKeyHelper(PropertiesDefinitionContext) STYLE BC_UNCONFIRMED_CAST 112 Low

de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKeyFactory

Bug Category Details Line Priority
Unchecked/unconfirmed cast from de.smartics.properties.api.config.domain.key.ConfigurationKey<?> to de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKey in de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKeyFactory.createKey(ConfigurationKey, ApplicationId) STYLE BC_UNCONFIRMED_CAST 92 Low
Unchecked/unconfirmed cast from de.smartics.properties.api.config.domain.key.ConfigurationKey<?> to de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKey in de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKeyFactory.createStaticKey(ConfigurationKey) STYLE BC_UNCONFIRMED_CAST 135 Low
Load of known null value in de.smartics.properties.impl.config.domain.key.rtaware.TenantUserConfigurationKeyFactory.createKeyFromString(String) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 103 Medium

de.smartics.properties.impl.config.ds.AutodetectDataSourceConfigurationPropertiesFactory

Bug Category Details Line Priority
de.smartics.properties.impl.config.ds.AutodetectDataSourceConfigurationPropertiesFactory.createDatabaseId(JndiDataSourceProxy) may fail to close Connection BAD_PRACTICE ODR_OPEN_DATABASE_RESOURCE 202 Medium

de.smartics.properties.impl.config.ds.DataSourceConfigurationJndiLoader

Bug Category Details Line Priority
Exception is caught when Exception is not thrown in de.smartics.properties.impl.config.ds.DataSourceConfigurationJndiLoader.load() STYLE REC_CATCH_EXCEPTION 103 Low

de.smartics.properties.impl.config.ds.DataSourceConfigurationLoader

Bug Category Details Line Priority
Format-string method String.format(String, Object[]) called with format string "Cannot configure the access to a data source: %s" wants 1 arguments but is given 2 in de.smartics.properties.impl.config.ds.DataSourceConfigurationLoader.load() CORRECTNESS VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED 95 Medium

de.smartics.properties.impl.config.ds.DataSourceConfigurationProperties$DsPropertyStoreAccessor

Bug Category Details Line Priority
de.smartics.properties.impl.config.ds.DataSourceConfigurationProperties$DsPropertyStoreAccessor is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 100-178 Low

de.smartics.properties.impl.config.ds.DataSourceConfigurationPropertiesLoader

Bug Category Details Line Priority
Format-string method String.format(String, Object[]) called with format string "Cannot configure the access to a data source: %s" wants 1 arguments but is given 2 in de.smartics.properties.impl.config.ds.DataSourceConfigurationPropertiesLoader.load() CORRECTNESS VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED 97 Medium

de.smartics.properties.impl.config.ds.DataSourceProxyManager

Bug Category Details Line Priority
Synchronization performed on java.util.concurrent.CopyOnWriteArrayList in de.smartics.properties.impl.config.ds.DataSourceProxyManager.register(DataSourceConnector) MT_CORRECTNESS JLM_JSR166_UTILCONCURRENT_MONITORENTER 84 High

de.smartics.properties.impl.config.jndi.JndiConfigurationProperties$JndiPropertyStoreAccessor

Bug Category Details Line Priority
de.smartics.properties.impl.config.jndi.JndiConfigurationProperties$JndiPropertyStoreAccessor is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 107-191 Low

de.smartics.properties.spi.config.cache.CacheConfigurationJndiLoader

Bug Category Details Line Priority
Exception is caught when Exception is not thrown in de.smartics.properties.spi.config.cache.CacheConfigurationJndiLoader.load() STYLE REC_CATCH_EXCEPTION 95 Low

de.smartics.properties.spi.config.domain.key.ConfigurationKeyContextManager

Bug Category Details Line Priority
Exception is caught when Exception is not thrown in de.smartics.properties.spi.config.domain.key.ConfigurationKeyContextManager.createContext() STYLE REC_CATCH_EXCEPTION 101 Low

de.smartics.properties.spi.config.ds.DefaultDataSourceManager

Bug Category Details Line Priority
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.dropConfigTable() may fail to clean up java.sql.Statement EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 494 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.getConfigurationKeys() may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 568 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.getConfigurationKeys() may fail to clean up java.sql.Statement EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 563 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.print(PrintStream) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 530 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.print(PrintStream) may fail to clean up java.sql.Statement EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 525 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.initProperties(Connection) may fail to clean up java.sql.Statement on checked exception EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE 450 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.dropConfigTable() may fail to close Statement BAD_PRACTICE ODR_OPEN_DATABASE_RESOURCE 494 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.getConfigurationKeys() may fail to close Statement BAD_PRACTICE ODR_OPEN_DATABASE_RESOURCE 563 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.print(PrintStream) may fail to close Statement BAD_PRACTICE ODR_OPEN_DATABASE_RESOURCE 525 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.print(PrintStream) passes a nonconstant String to an execute method on an SQL statement SECURITY SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE 530 Medium
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.dropConfigTable() passes a nonconstant String to an execute method on an SQL statement SECURITY SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE 497 Low
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.execute(Connection, String) passes a nonconstant String to an execute method on an SQL statement SECURITY SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE 476 Low
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.getConfigurationKeys() passes a nonconstant String to an execute method on an SQL statement SECURITY SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE 568 Low
de.smartics.properties.spi.config.ds.DefaultDataSourceManager.initializedTableExists(Connection) passes a nonconstant String to an execute method on an SQL statement SECURITY SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE 411 Low
A prepared statement is generated from a nonconstant String in de.smartics.properties.spi.config.ds.DefaultDataSourceManager.initProperties(Connection) SECURITY SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING 450 Low

de.smartics.properties.spi.config.ds.PropertiesStore

Bug Category Details Line Priority
de.smartics.properties.spi.config.ds.PropertiesStore.deleteProperties() may fail to clean up java.sql.Statement EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 389 Medium
de.smartics.properties.spi.config.ds.PropertiesStore.getProperty(String, String) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 135 Medium
de.smartics.properties.spi.config.ds.PropertiesStore.deleteProperties() may fail to close Statement BAD_PRACTICE ODR_OPEN_DATABASE_RESOURCE 389 Medium
de.smartics.properties.spi.config.ds.PropertiesStore.deleteProperties() passes a nonconstant String to an execute method on an SQL statement SECURITY SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE 390 Low
A prepared statement is generated from a nonconstant String in de.smartics.properties.spi.config.ds.PropertiesStore.createGetPropertiesStatement(Connection) SECURITY SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING 356 Medium
A prepared statement is generated from a nonconstant String in de.smartics.properties.spi.config.ds.PropertiesStore.createDeletePropertyStatement(Connection) SECURITY SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING 372 Low
A prepared statement is generated from a nonconstant String in de.smartics.properties.spi.config.ds.PropertiesStore.createGetPropertyStatement(Connection) SECURITY SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING 347 Low
A prepared statement is generated from a nonconstant String in de.smartics.properties.spi.config.ds.PropertiesStore.createSetPropertyStatement(Connection) SECURITY SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING 363 Low

de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesFactory$1

Bug Category Details Line Priority
de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesFactory$1 is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 175-289 Low

de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesManagement

Bug Category Details Line Priority
Load of known null value in de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesManagement.getValidatedProperty(PropertyDescriptor, Object) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 262 Medium
Class de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesManagement implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 91-520 Low

de.smartics.properties.spi.config.support.AbstractExternalConfigurationPropertiesManagement

Bug Category Details Line Priority
Class de.smartics.properties.spi.config.support.AbstractExternalConfigurationPropertiesManagement implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 52-84 Low

de.smartics.properties.spi.config.support.AbstractInMemoryConfigurationProperties

Bug Category Details Line Priority
de.smartics.properties.spi.config.support.AbstractInMemoryConfigurationProperties.loadDefault(Class) may fail to clean up java.io.InputStream EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 254 Medium

de.smartics.properties.spi.config.support.AbstractInMemoryConfigurationProperties$InMemoryPropertyStoreAccessor

Bug Category Details Line Priority
de.smartics.properties.spi.config.support.AbstractInMemoryConfigurationProperties$InMemoryPropertyStoreAccessor is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 136-178 Low

de.smartics.properties.spi.config.support.ConfigurationPropertiesManagementWithDefaults

Bug Category Details Line Priority
Load of known null value in de.smartics.properties.spi.config.support.ConfigurationPropertiesManagementWithDefaults.getValidatedProperty(PropertyDescriptor, Object) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 336 Medium

de.smartics.properties.spi.config.support.ConfigurationPropertiesManagementWithDefaults$MultiPropertyStoreAccessor

Bug Category Details Line Priority
de.smartics.properties.spi.config.support.ConfigurationPropertiesManagementWithDefaults$MultiPropertyStoreAccessor is serializable and an inner class BAD_PRACTICE SE_INNER_CLASS 123-187 Low

de.smartics.properties.spi.config.support.InMemoryConfigurationRepositoryManagement

Bug Category Details Line Priority
de.smartics.properties.spi.config.support.InMemoryConfigurationRepositoryManagement.toString() does not release lock on all exception paths MT_CORRECTNESS UL_UNRELEASED_LOCK_EXCEPTION_PATH 414 Medium

de.smartics.properties.spi.config.support.MappedPropertyCollection$1

Bug Category Details Line Priority
The class de.smartics.properties.spi.config.support.MappedPropertyCollection$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 134-161 Low

de.smartics.properties.spi.config.support.MultiPropertyCollection$1

Bug Category Details Line Priority
exceptional return value of java.util.Queue.offer(Object) ignored in de.smartics.properties.spi.config.support.MultiPropertyCollection$1.computeNext() BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 116 Low
The class de.smartics.properties.spi.config.support.MultiPropertyCollection$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 106-120 Low

de.smartics.properties.spi.config.support.MultiSourceProperties

Bug Category Details Line Priority
de.smartics.properties.spi.config.support.MultiSourceProperties.add(PropertyLocation, Properties) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 166 Medium

de.smartics.properties.spi.config.support.NativePropertyCollection$1

Bug Category Details Line Priority
The class de.smartics.properties.spi.config.support.NativePropertyCollection$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 130-146 Low

de.smartics.properties.spi.config.support.PropertiesPropertyCollection$1

Bug Category Details Line Priority
The class de.smartics.properties.spi.config.support.PropertiesPropertyCollection$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 104-131 Low

de.smartics.properties.spi.config.support.PropertyLocationHelper

Bug Category Details Line Priority
Exception is caught when Exception is not thrown in de.smartics.properties.spi.config.support.PropertyLocationHelper.determineAppId(String, String) STYLE REC_CATCH_EXCEPTION 71 Low

de.smartics.properties.spi.config.transfer.DefinitionXmlMessageBean

Bug Category Details Line Priority
Unread field: de.smartics.properties.spi.config.transfer.DefinitionXmlMessageBean.definitionXml; should this field be static? PERFORMANCE SS_SHOULD_BE_STATIC 57 Medium

de.smartics.properties.spi.config.transfer.NoConfigurationKeyForPropertiesMessageBean

Bug Category Details Line Priority
Unread field: de.smartics.properties.spi.config.transfer.NoConfigurationKeyForPropertiesMessageBean.definitionXml; should this field be static? PERFORMANCE SS_SHOULD_BE_STATIC 58 Medium

de.smartics.properties.spi.config.transfer.PropertyProviderList

Bug Category Details Line Priority
de.smartics.properties.spi.config.transfer.PropertyProviderList.addPropertyDefinitions(DefinitionConfigParser, ClassPathEnvironment) creates a java.net.URLClassLoader classloader, which should be performed within a doPrivileged block MALICIOUS_CODE DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED 149 Medium