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