The following document contains the results of FindBugs Report
FindBugs Version is 2.0.1
Threshold is low
Effort is max
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 |
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 |
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 |
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 | 242 | High |
de.smartics.properties.impl.config.cache.DependencyTrackingCache.getValidatedProperty(ConfigurationProperties, PropertyDescriptor, Object) does not release lock on all paths | MT_CORRECTNESS | UL_UNRELEASED_LOCK | 175 | 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 | 327 | Medium |
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 |
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 |
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 |
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 |
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 |
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 | 203 | Medium |
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 | 104 | Low |
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 |
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 |
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 | 98 | Medium |
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 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class de.smartics.properties.impl.config.jndi.JndiConfigurationPropertyProvider defines non-transient non-serializable instance field context | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Class de.smartics.properties.impl.config.jndi.JndiPropertyStoreAccessor defines non-transient non-serializable instance field context | BAD_PRACTICE | SE_BAD_FIELD | Not available | Medium |
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 | 96 | Low |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Exception is caught when Exception is not thrown in de.smartics.properties.spi.config.config.ConfigurationJndiLookupLoader.load() | STYLE | REC_CATCH_EXCEPTION | 101 | Low |
Format-string method String.format(String, Object[]) called with format string "Cannot configure smartics properties: %s" wants 1 arguments but is given 2 in de.smartics.properties.spi.config.config.ConfigurationJndiLookupLoader.load() | CORRECTNESS | VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED | 103 | Medium |
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 | 74 | Low |
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 |
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 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
de.smartics.properties.spi.config.support.AbstractConfigurationPropertiesFactory$1 is serializable and an inner class | BAD_PRACTICE | SE_INNER_CLASS | 183-305 | Low |
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 |
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 |
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 |
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 |
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 |
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 |
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 | 418 | Medium |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |