Fork me on GitHub

FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 2.0.2

Threshold is medium

Effort is min

Summary

Classes Bugs Errors Missing Classes
623 68 0 0

Files

Class Bugs
net.sf.hajdbc.AbstractExceptionFactory 2
net.sf.hajdbc.IdentifiableMatcher 1
net.sf.hajdbc.TriggerSupport$TriggerEventEnum 1
net.sf.hajdbc.cache.AbstractDatabaseProperties 1
net.sf.hajdbc.codec.base64.Base64CodecFactory 4
net.sf.hajdbc.codec.crypto.CipherCodec 4
net.sf.hajdbc.codec.hex.HexCodecFactory 2
net.sf.hajdbc.dialect.IdentifierList 1
net.sf.hajdbc.dialect.StandardDialect 4
net.sf.hajdbc.dialect.StandardQualifiedNameFactory$StandardQualifiedName 1
net.sf.hajdbc.dialect.StandardSequencePropertiesFactory$StandardSequenceProperties 1
net.sf.hajdbc.dialect.db2.DB2Dialect 1
net.sf.hajdbc.dialect.firebird.FirebirdDialect 1
net.sf.hajdbc.dialect.h2.H2Dialect 1
net.sf.hajdbc.dialect.hsqldb.HSQLDBDialect 1
net.sf.hajdbc.dialect.ingres.IngresDialect 1
net.sf.hajdbc.dialect.maxdb.MaxDBDialect 1
net.sf.hajdbc.dialect.mysql.MySQLDialect 1
net.sf.hajdbc.dialect.oracle.OracleDialect 1
net.sf.hajdbc.dialect.postgresql.PostgreSQLDialect 2
net.sf.hajdbc.dialect.sybase.SybaseDialect 2
net.sf.hajdbc.durability.DurabilityEventImpl 2
net.sf.hajdbc.durability.InvokerEventImpl 1
net.sf.hajdbc.invocation.SimpleInvoker 2
net.sf.hajdbc.io.file.FileReaderSinkChannel 2
net.sf.hajdbc.io.simple.SimpleReaderSinkChannel 2
net.sf.hajdbc.pool.sql.DriverConnectionPoolDataSource$2 1
net.sf.hajdbc.sql.CommonDataSource 1
net.sf.hajdbc.sql.DataSource 1
net.sf.hajdbc.sql.DatabaseClusterImpl 3
net.sf.hajdbc.sql.FileSupportImpl 2
net.sf.hajdbc.sql.InvocationHandler 1
net.sf.hajdbc.sql.SQLExceptionFactory 1
net.sf.hajdbc.sql.pool.ConnectionPoolDataSource 1
net.sf.hajdbc.sql.xa.XADataSource 1
net.sf.hajdbc.state.bdb.BerkeleyDBStateManager 1
net.sf.hajdbc.state.distributed.InvokerCommand 1
net.sf.hajdbc.state.sql.SQLStateManager$1 1
net.sf.hajdbc.state.sql.SQLStateManager$9 1
net.sf.hajdbc.state.sql.SQLStateManagerFactory 1
net.sf.hajdbc.sync.SynchronizationSupportImpl$1 1
net.sf.hajdbc.util.Files 1
net.sf.hajdbc.util.Processes 2
net.sf.hajdbc.util.Processes$2 3
net.sf.hajdbc.util.concurrent.SynchronousExecutor$LazyFuture 1

net.sf.hajdbc.AbstractExceptionFactory

Bug Category Details Line Priority
Unchecked/unconfirmed cast from Throwable to Exception in net.sf.hajdbc.AbstractExceptionFactory.createException(Throwable) STYLE BC_UNCONFIRMED_CAST 59 Medium
Comparison of String objects using == or != in net.sf.hajdbc.AbstractExceptionFactory.equals(Exception, Exception) BAD_PRACTICE ES_COMPARING_STRINGS_WITH_EQ 81 Medium

net.sf.hajdbc.IdentifiableMatcher

Bug Category Details Line Priority
Possible null pointer dereference of service in net.sf.hajdbc.IdentifiableMatcher.matches(Identifiable) CORRECTNESS NP_NULL_ON_SOME_PATH 34 Medium

net.sf.hajdbc.TriggerSupport$TriggerEventEnum

Bug Category Details Line Priority
Suspicious comparison of Boolean references in net.sf.hajdbc.TriggerSupport$TriggerEventEnum.valueOf(Boolean) BAD_PRACTICE RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN 55 Medium

net.sf.hajdbc.cache.AbstractDatabaseProperties

Bug Category Details Line Priority
int[] passed to varargs method java.util.Arrays.asList(Object[]) in net.sf.hajdbc.cache.AbstractDatabaseProperties.findType(int, int[]) CORRECTNESS VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG 157 High

net.sf.hajdbc.codec.base64.Base64CodecFactory

Bug Category Details Line Priority
Found reliance on default encoding in net.sf.hajdbc.codec.base64.Base64CodecFactory.decode(String): new String(byte[]) I18N DM_DEFAULT_ENCODING 49 High
Found reliance on default encoding in net.sf.hajdbc.codec.base64.Base64CodecFactory.decode(String): String.getBytes() I18N DM_DEFAULT_ENCODING 49 High
Found reliance on default encoding in net.sf.hajdbc.codec.base64.Base64CodecFactory.encode(String): new String(byte[]) I18N DM_DEFAULT_ENCODING 59 High
Found reliance on default encoding in net.sf.hajdbc.codec.base64.Base64CodecFactory.encode(String): String.getBytes() I18N DM_DEFAULT_ENCODING 59 High

net.sf.hajdbc.codec.crypto.CipherCodec

Bug Category Details Line Priority
Found reliance on default encoding in net.sf.hajdbc.codec.crypto.CipherCodec.decode(String): new String(byte[]) I18N DM_DEFAULT_ENCODING 61 High
Found reliance on default encoding in net.sf.hajdbc.codec.crypto.CipherCodec.decode(String): String.getBytes() I18N DM_DEFAULT_ENCODING 61 High
Found reliance on default encoding in net.sf.hajdbc.codec.crypto.CipherCodec.encode(String): new String(byte[]) I18N DM_DEFAULT_ENCODING 82 High
Found reliance on default encoding in net.sf.hajdbc.codec.crypto.CipherCodec.encode(String): String.getBytes() I18N DM_DEFAULT_ENCODING 82 High

net.sf.hajdbc.codec.hex.HexCodecFactory

Bug Category Details Line Priority
Found reliance on default encoding in net.sf.hajdbc.codec.hex.HexCodecFactory.decode(String): new String(byte[]) I18N DM_DEFAULT_ENCODING 52 High
Found reliance on default encoding in net.sf.hajdbc.codec.hex.HexCodecFactory.encode(String): String.getBytes() I18N DM_DEFAULT_ENCODING 67 High

net.sf.hajdbc.dialect.IdentifierList

Bug Category Details Line Priority
Class net.sf.hajdbc.dialect.IdentifierList defines non-transient non-serializable instance field normalizer BAD_PRACTICE SE_BAD_FIELD Medium

net.sf.hajdbc.dialect.StandardDialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.StandardDialect.SQL_2003_RESERVED_KEY_WORDS should be package protected MALICIOUS_CODE MS_PKGPROTECT 78 Medium
net.sf.hajdbc.dialect.StandardDialect.executeFunction(Connection, String) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 292 Medium
net.sf.hajdbc.dialect.StandardDialect.executeQuery(Connection, String) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 310 Medium
net.sf.hajdbc.dialect.StandardDialect.getColumns(DatabaseMetaData, QualifiedName, ColumnPropertiesFactory) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 743 Medium

net.sf.hajdbc.dialect.StandardQualifiedNameFactory$StandardQualifiedName

Bug Category Details Line Priority
Should net.sf.hajdbc.dialect.StandardQualifiedNameFactory$StandardQualifiedName be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 70 Medium

net.sf.hajdbc.dialect.StandardSequencePropertiesFactory$StandardSequenceProperties

Bug Category Details Line Priority
Should net.sf.hajdbc.dialect.StandardSequencePropertiesFactory$StandardSequenceProperties be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 46 Medium

net.sf.hajdbc.dialect.db2.DB2Dialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.db2.DB2Dialect.getSequences(DatabaseMetaData, SequencePropertiesFactory) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 89 Medium

net.sf.hajdbc.dialect.firebird.FirebirdDialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.firebird.FirebirdDialect.getSequences(DatabaseMetaData, SequencePropertiesFactory) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 87 Medium

net.sf.hajdbc.dialect.h2.H2Dialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.h2.H2Dialect.getSequences(DatabaseMetaData, SequencePropertiesFactory) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 82 Medium

net.sf.hajdbc.dialect.hsqldb.HSQLDBDialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.hsqldb.HSQLDBDialect.getSequences(DatabaseMetaData, SequencePropertiesFactory) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 90 Medium

net.sf.hajdbc.dialect.ingres.IngresDialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.ingres.IngresDialect.getSequences(DatabaseMetaData, SequencePropertiesFactory) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 71 Medium

net.sf.hajdbc.dialect.maxdb.MaxDBDialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.maxdb.MaxDBDialect.getSequences(DatabaseMetaData, SequencePropertiesFactory) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 77 Medium

net.sf.hajdbc.dialect.mysql.MySQLDialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.mysql.MySQLDialect.RESERVED_KEY_WORDS should be package protected MALICIOUS_CODE MS_PKGPROTECT 45 Medium

net.sf.hajdbc.dialect.oracle.OracleDialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.oracle.OracleDialect.getSequences(DatabaseMetaData, SequencePropertiesFactory) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 77 Medium

net.sf.hajdbc.dialect.postgresql.PostgreSQLDialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.postgresql.PostgreSQLDialect.RESERVED_KEY_WORDS should be package protected MALICIOUS_CODE MS_PKGPROTECT 56 Medium
net.sf.hajdbc.dialect.postgresql.PostgreSQLDialect.getDefaultSchemas(DatabaseMetaData) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 104 Medium

net.sf.hajdbc.dialect.sybase.SybaseDialect

Bug Category Details Line Priority
net.sf.hajdbc.dialect.sybase.SybaseDialect.isValid(Connection) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 146 Medium
return value of java.sql.Statement.executeQuery(String) ignored in net.sf.hajdbc.dialect.sybase.SybaseDialect.isValid(Connection) CORRECTNESS RV_RETURN_VALUE_IGNORED 146 Medium

net.sf.hajdbc.durability.DurabilityEventImpl

Bug Category Details Line Priority
net.sf.hajdbc.durability.DurabilityEventImpl defines equals but not hashCode BAD_PRACTICE HE_EQUALS_NO_HASHCODE 65 Medium

net.sf.hajdbc.durability.InvokerEventImpl

Bug Category Details Line Priority
net.sf.hajdbc.durability.InvokerEventImpl defines equals but not hashCode BAD_PRACTICE HE_EQUALS_NO_HASHCODE 80 Medium

net.sf.hajdbc.invocation.SimpleInvoker

Bug Category Details Line Priority
net.sf.hajdbc.invocation.SimpleInvoker.getParameters() may expose internal representation by returning SimpleInvoker.parameters MALICIOUS_CODE EI_EXPOSE_REP 38 Medium
new net.sf.hajdbc.invocation.SimpleInvoker(Method, Object[], ExceptionFactory) may expose internal representation by storing an externally mutable object into SimpleInvoker.parameters MALICIOUS_CODE EI_EXPOSE_REP2 27 Medium

net.sf.hajdbc.io.file.FileReaderSinkChannel

Bug Category Details Line Priority
Found reliance on default encoding in net.sf.hajdbc.io.file.FileReaderSinkChannel.read(File): new java.io.FileReader(File) I18N DM_DEFAULT_ENCODING 66 High
Found reliance on default encoding in net.sf.hajdbc.io.file.FileReaderSinkChannel.write(Reader): new java.io.FileWriter(File) I18N DM_DEFAULT_ENCODING 43 High

net.sf.hajdbc.io.simple.SimpleReaderSinkChannel

Bug Category Details Line Priority
Found reliance on default encoding in net.sf.hajdbc.io.simple.SimpleReaderSinkChannel.read(byte[]): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 53 High
Found reliance on default encoding in net.sf.hajdbc.io.simple.SimpleReaderSinkChannel.write(Reader): new java.io.OutputStreamWriter(OutputStream) I18N DM_DEFAULT_ENCODING 39 High

net.sf.hajdbc.pool.sql.DriverConnectionPoolDataSource$2

Bug Category Details Line Priority

net.sf.hajdbc.sql.CommonDataSource

Bug Category Details Line Priority
The class name net.sf.hajdbc.sql.CommonDataSource shadows the simple name of implemented interface javax.sql.CommonDataSource BAD_PRACTICE NM_SAME_SIMPLE_NAME_AS_INTERFACE 48 Medium

net.sf.hajdbc.sql.DataSource

Bug Category Details Line Priority
The class name net.sf.hajdbc.sql.DataSource shadows the simple name of implemented interface javax.sql.DataSource BAD_PRACTICE NM_SAME_SIMPLE_NAME_AS_INTERFACE 28 Medium

net.sf.hajdbc.sql.DatabaseClusterImpl

Bug Category Details Line Priority
Inconsistent synchronization of net.sf.hajdbc.sql.DatabaseClusterImpl.lockManager; locked 71% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 541 Medium
Inconsistent synchronization of net.sf.hajdbc.sql.DatabaseClusterImpl.stateManager; locked 72% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 571 Medium
Redundant nullcheck of database, which is known to be non-null in net.sf.hajdbc.sql.DatabaseClusterImpl.start() STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 700 Medium

net.sf.hajdbc.sql.FileSupportImpl

Bug Category Details Line Priority
Found reliance on default encoding in net.sf.hajdbc.sql.FileSupportImpl.createFile(Reader): new java.io.FileWriter(File) I18N DM_DEFAULT_ENCODING 106 High
Found reliance on default encoding in net.sf.hajdbc.sql.FileSupportImpl.getReader(File): new java.io.FileReader(File) I18N DM_DEFAULT_ENCODING 139 High

net.sf.hajdbc.sql.InvocationHandler

Bug Category Details Line Priority
The class name net.sf.hajdbc.sql.InvocationHandler shadows the simple name of implemented interface java.lang.reflect.InvocationHandler BAD_PRACTICE NM_SAME_SIMPLE_NAME_AS_INTERFACE Medium

net.sf.hajdbc.sql.SQLExceptionFactory

Bug Category Details Line Priority
Comparison of String objects using == or != in net.sf.hajdbc.sql.SQLExceptionFactory.equals(SQLException, SQLException) BAD_PRACTICE ES_COMPARING_STRINGS_WITH_EQ 133 Medium

net.sf.hajdbc.sql.pool.ConnectionPoolDataSource

Bug Category Details Line Priority
The class name net.sf.hajdbc.sql.pool.ConnectionPoolDataSource shadows the simple name of implemented interface javax.sql.ConnectionPoolDataSource BAD_PRACTICE NM_SAME_SIMPLE_NAME_AS_INTERFACE 31 Medium

net.sf.hajdbc.sql.xa.XADataSource

Bug Category Details Line Priority
The class name net.sf.hajdbc.sql.xa.XADataSource shadows the simple name of implemented interface javax.sql.XADataSource BAD_PRACTICE NM_SAME_SIMPLE_NAME_AS_INTERFACE 31 Medium

net.sf.hajdbc.state.bdb.BerkeleyDBStateManager

Bug Category Details Line Priority
exceptional return value of java.io.File.mkdirs() ignored in net.sf.hajdbc.state.bdb.BerkeleyDBStateManager.start() BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 95 Medium

net.sf.hajdbc.state.distributed.InvokerCommand

Bug Category Details Line Priority
net.sf.hajdbc.durability.InvokerEvent is incompatible with expected argument type net.sf.hajdbc.durability.InvocationEvent in net.sf.hajdbc.state.distributed.InvokerCommand.execute(StateCommandContext) CORRECTNESS GC_UNRELATED_TYPES 52 Medium

net.sf.hajdbc.state.sql.SQLStateManager$1

Bug Category Details Line Priority
net.sf.hajdbc.state.sql.SQLStateManager$1.execute(Connection) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 137 Medium

net.sf.hajdbc.state.sql.SQLStateManager$9

Bug Category Details Line Priority
net.sf.hajdbc.state.sql.SQLStateManager$9.execute(Connection) may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 488 Medium

net.sf.hajdbc.state.sql.SQLStateManagerFactory

Bug Category Details Line Priority
Class net.sf.hajdbc.state.sql.SQLStateManagerFactory defines non-transient non-serializable instance field logger BAD_PRACTICE SE_BAD_FIELD Medium

net.sf.hajdbc.sync.SynchronizationSupportImpl$1

Bug Category Details Line Priority
net.sf.hajdbc.sync.SynchronizationSupportImpl$1.call() may fail to clean up java.sql.ResultSet EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 193 Medium

net.sf.hajdbc.util.Files

Bug Category Details Line Priority
net.sf.hajdbc.util.Files.TEMP_FILE_PREFIX isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 27 High

net.sf.hajdbc.util.Processes

Bug Category Details Line Priority
Found reliance on default encoding in net.sf.hajdbc.util.Processes.run(ProcessBuilder, File): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 79 High
net.sf.hajdbc.util.Processes.run(ProcessBuilder, File) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 79 Medium

net.sf.hajdbc.util.Processes$2

Bug Category Details Line Priority
Found reliance on default encoding in net.sf.hajdbc.util.Processes$2.run(): new java.io.FileReader(File) I18N DM_DEFAULT_ENCODING 54 High
Found reliance on default encoding in net.sf.hajdbc.util.Processes$2.run(): new java.io.PrintWriter(OutputStream) I18N DM_DEFAULT_ENCODING 53 High
net.sf.hajdbc.util.Processes$2.run() may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 53 Medium

net.sf.hajdbc.util.concurrent.SynchronousExecutor$LazyFuture

Bug Category Details Line Priority
return value of java.util.concurrent.CountDownLatch.await(long, TimeUnit) ignored in net.sf.hajdbc.util.concurrent.SynchronousExecutor$LazyFuture.get(long, TimeUnit) CORRECTNESS RV_RETURN_VALUE_IGNORED 361 Medium