FindBugs Report
Project Information
Project: <<unnamed project>>
FindBugs version: 0.9.5
Code analyzed:
- /faith4/gf/publish/glassfish/lib/toplink-essentials.jar
Contents
Summary
Warnings
Click on a warning row to see full context information.
DE |
|
|
Bug type DE_MIGHT_IGNORE (click for details)
In class oracle.toplink.essentials.internal.weaving.TransformerFactory
In method oracle.toplink.essentials.internal.weaving.TransformerFactory.hasField(Class,String)
At TransformerFactory.java:[line 337]
Exception class java.lang.Exception
|
EC |
|
|
Bug type EC_UNRELATED_CLASS_AND_INTERFACE (click for details)
In class oracle.toplink.essentials.internal.annotations.AnnotationsSequencingProcessor
In method oracle.toplink.essentials.internal.annotations.AnnotationsSequencingProcessor.preProcessSequenceGenerator(javax.persistence.SequenceGenerator,java.lang.reflect.AnnotatedElement)
At AnnotationsSequencingProcessor.java:[line 274]
Reference type javax.persistence.SequenceGenerator
Reference type java.lang.String
|
EC |
|
|
Bug type EC_UNRELATED_TYPES (click for details)
In class oracle.toplink.essentials.internal.ejb.cmp3.xml.sequencing.SequencingProcessor
In method oracle.toplink.essentials.internal.ejb.cmp3.xml.sequencing.SequencingProcessor.preProcessSequenceGenerator(SequenceGenerator)
At SequencingProcessor.java:[line 88]
Reference type oracle.toplink.essentials.internal.ejb.cmp3.xml.sequencing.SequenceGenerator
Reference type java.lang.String
|
EC |
|
|
Bug type EC_UNRELATED_TYPES (click for details)
In class persistence.antlr.preprocessor.Rule
In method persistence.antlr.preprocessor.Rule.narrowerVisibility(Rule)
At Rule.java:[line 61]
Reference type persistence.antlr.preprocessor.Rule
Reference type java.lang.String
|
EC |
|
|
Bug type EC_UNRELATED_TYPES (click for details)
In class persistence.antlr.preprocessor.Rule
In method persistence.antlr.preprocessor.Rule.narrowerVisibility(Rule)
At Rule.java:[line 67]
Reference type persistence.antlr.preprocessor.Rule
Reference type java.lang.String
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class oracle.toplink.essentials.internal.ejb.cmp3.xml.sequencing.Id
In method oracle.toplink.essentials.internal.ejb.cmp3.xml.sequencing.Id.equals(Object)
At Id.java:[lines 21-31]
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class oracle.toplink.essentials.internal.ejb.cmp3.xml.sequencing.SequenceGenerator
In method oracle.toplink.essentials.internal.ejb.cmp3.xml.sequencing.SequenceGenerator.equals(Object)
At SequenceGenerator.java:[lines 33-50]
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class oracle.toplink.essentials.internal.ejb.cmp3.xml.sequencing.TableGenerator
In method oracle.toplink.essentials.internal.ejb.cmp3.xml.sequencing.TableGenerator.equals(Object)
At TableGenerator.java:[lines 53-79]
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class oracle.toplink.essentials.internal.ejb.cmp3.xml.TableInfo
In method oracle.toplink.essentials.internal.ejb.cmp3.xml.TableInfo.equals(Object)
At TableInfo.java:[lines 94-114]
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class oracle.toplink.essentials.queryframework.ReportQueryResult
In method oracle.toplink.essentials.queryframework.ReportQueryResult.equals(Object)
At ReportQueryResult.java:[lines 219-223]
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class oracle.toplink.essentials.sequencing.DefaultSequence
In method oracle.toplink.essentials.sequencing.DefaultSequence.equals(Object)
At DefaultSequence.java:[lines 79-82]
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class oracle.toplink.essentials.sequencing.NativeSequence
In method oracle.toplink.essentials.sequencing.NativeSequence.equals(Object)
At NativeSequence.java:[lines 56-59]
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class oracle.toplink.essentials.sequencing.QuerySequence
In method oracle.toplink.essentials.sequencing.QuerySequence.equals(Object)
At QuerySequence.java:[lines 88-93]
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class oracle.toplink.essentials.sequencing.TableSequence
In method oracle.toplink.essentials.sequencing.TableSequence.equals(Object)
At TableSequence.java:[lines 92-100]
|
HE |
|
|
Bug type HE_EQUALS_USE_HASHCODE (click for details)
In class persistence.antlr.collections.impl.BitSet
In method persistence.antlr.collections.impl.BitSet.equals(Object)
At BitSet.java:[lines 137-162]
|
IL |
|
|
Bug type IL_INFINITE_RECURSIVE_LOOP (click for details)
In class oracle.toplink.essentials.internal.sessions.AbstractSession
In method oracle.toplink.essentials.internal.sessions.AbstractSession.getClassDescriptorForAlias(String)
At AbstractSession.java:[line 1221]
|
IL |
|
|
Bug type IL_INFINITE_RECURSIVE_LOOP (click for details)
In class oracle.toplink.essentials.sessions.Project
In method oracle.toplink.essentials.sessions.Project.getClassDescriptorForAlias(String)
At Project.java:[line 778]
|
MF |
|
|
Bug type MF_CLASS_MASKS_FIELD (click for details)
In class oracle.toplink.essentials.queryframework.ObjectLevelReadQuery
Masked field oracle.toplink.essentials.queryframework.ObjectBuildingQuery.lockingClause
Masking field oracle.toplink.essentials.queryframework.ObjectLevelReadQuery.lockingClause
In ObjectBuildingQuery.java
|
Nm |
|
|
Bug type NM_VERY_CONFUSING (click for details)
In class oracle.toplink.essentials.platform.database.CloudscapePlatform
In method oracle.toplink.essentials.platform.database.CloudscapePlatform.isCloudScape()
In class oracle.toplink.essentials.internal.databaseaccess.DatasourcePlatform
In method oracle.toplink.essentials.internal.databaseaccess.DatasourcePlatform.isCloudscape()
At CloudscapePlatform.java:[line 75]
|
Se |
|
|
Bug type SE_BAD_FIELD (click for details)
In class oracle.toplink.essentials.descriptors.ClassDescriptor
Field oracle.toplink.essentials.descriptors.ClassDescriptor.fetchGroupManager
In ClassDescriptor.java
|
Se |
|
|
Bug type SE_BAD_FIELD (click for details)
In class oracle.toplink.essentials.internal.helper.ConversionManager
Field oracle.toplink.essentials.internal.helper.ConversionManager.loader
In ConversionManager.java
|
Se |
|
|
Bug type SE_BAD_FIELD (click for details)
In class oracle.toplink.essentials.internal.queryframework.ReportItem
Field oracle.toplink.essentials.internal.queryframework.ReportItem.joinManager
In ReportItem.java
|
DLS |
|
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class oracle.toplink.essentials.exceptions.ValidationException
In method oracle.toplink.essentials.exceptions.ValidationException.errorInSessionsXML(String)
Local variable named args
At ValidationException.java:[line 667]
|
DLS |
|
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism
In method oracle.toplink.essentials.internal.queryframework.ExpressionQueryMechanism.buildReportQuerySelectStatement(boolean,boolean,oracle.toplink.essentials.expressions.Expression)
Local variable stored in JVM register 7
At ExpressionQueryMechanism.java:[line 432]
|
DLS |
|
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class oracle.toplink.essentials.mappings.AggregateCollectionMapping
In method oracle.toplink.essentials.mappings.AggregateCollectionMapping.initializeTargetForeignKeyToSourceKeys(oracle.toplink.essentials.internal.sessions.AbstractSession)
Local variable named sourceKeys
At AggregateCollectionMapping.java:[line 768]
|
DLS |
|
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class oracle.toplink.essentials.platform.xml.XMLPlatformException
In method oracle.toplink.essentials.platform.xml.XMLPlatformException.xmlPlatformValidationException(String)
Local variable named args
At XMLPlatformException.java:[line 96]
|
DLS |
|
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class persistence.antlr.actions.cpp.ActionLexer
In method persistence.antlr.actions.cpp.ActionLexer.mTREE(boolean)
Local variable stored in JVM register 8
At ActionLexer.java:[line 731]
|
DLS |
|
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class persistence.antlr.actions.csharp.ActionLexer
In method persistence.antlr.actions.csharp.ActionLexer.mTREE(boolean)
Local variable stored in JVM register 8
At ActionLexer.java:[line 730]
|
DLS |
|
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class persistence.antlr.actions.java.ActionLexer
In method persistence.antlr.actions.java.ActionLexer.mTREE(boolean)
Local variable stored in JVM register 8
At ActionLexer.java:[line 663]
|
DLS |
|
|
Bug type DLS_DEAD_LOCAL_STORE (click for details)
In class persistence.antlr.debug.misc.ASTFrame
In method persistence.antlr.debug.misc.ASTFrame.(String,persistence.antlr.collections.AST)
Local variable named listener
At ASTFrame.java:[line 42]
|
ST |
|
|
Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details)
In class persistence.antlr.Tool
In method persistence.antlr.Tool.setOutputDirectory(String)
Field persistence.antlr.Tool.outputDir
At Tool.java:[line 580]
|
This method might ignore an exception. In general, exceptions
should be handled or reported in some way, or they should be thrown
out of the method.
This instruction assigns a value to a local variable,
but the value is not read by any subsequent instruction.
Often, this indicates an error, because the value computed
is never used.
Note that Sun's javac compiler often generates dead stores for
final local variables. Because FindBugs is a bytecode-based tool,
there is no easy way to eliminate these false positives.
This method calls equals(Object) on two references of different
class types with no common subclasses.
Therefore, the objects being compared
are unlikely to be members of the same class at runtime
(unless some application classes were not analyzed, or dynamic class
loading can occur at runtime).
According to the contract of equals(),
objects of different
classes should always compare as unequal; therefore, according to the
contract defined by java.lang.Object.equals(Object),
the result of this comparison will always be false at runtime.
This method calls equals(Object) on two references, one of which is a class
and the other an interface, where neither the class nor any of its
non-abstract subclasses implement the interface.
Therefore, the objects being compared
are unlikely to be members of the same class at runtime
(unless some application classes were not analyzed, or dynamic class
loading can occur at runtime).
According to the contract of equals(),
objects of different
classes should always compare as unequal; therefore, according to the
contract defined by java.lang.Object.equals(Object),
the result of this comparison will always be false at runtime.
This class overrides equals(Object)
, but does not
override hashCode()
, and inherits the implementation of
hashCode()
from java.lang.Object
(which returns
the identity hash code, an arbitrary value assigned to the object
by the VM). Therefore, the class is very likely to violate the
invariant that equal objects must have equal hashcodes.
If you don't think instances of this class will ever be inserted into a HashMap/HashTable,
the recommended hashCode
implementation to use is:
public int hashCode() {
assert false : "hashCode not designed";
return 42; // any arbitrary constant will do
}
This method unconditionally invokes itself. This would seem to indicate
an infinite recursive loop that will result in a stack overflow.
This class defines a field with the same name as a visible
instance field in a superclass. This is confusing, and
may indicate an error if methods update or access one of
the fields when they wanted the other.
A mutable static field could be changed by malicious code or
by accident from another package.
The field could be made final to avoid
this vulnerability.
The referenced methods have names that differ only by capitalization.
This Serializable class defines a non-primitive instance field which is neither transient,
Serializable, or java.lang.Object
, and does not appear to implement
the Externalizable
interface or the
readObject()
and writeObject()
methods.
Objects of this class will not be deserialized correctly if a non-Serializable
object is stored in this field.
This instance method writes to a static field. This is tricky to get
correct if multiple instances are being manipulated,
and generally bad practice.