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 |