JBoss version: 2.2.1
EJB Spec: 1.1 - Section 9.2.9
File: org.jboss.verifier.strategy.EJBVerifier11.java
method: verifyPrimaryKey(EntityMetadata entity)
9.2.9.b and 9.2.9.c
The verifier in JBoss verifies that a primary key class implements the
methods equals() and hashcode(). This complies to requirements described in
section 9.2.9 of the EJB 1.1 spec.
I believe that the way the verifier checks the presence of these methods in
the primary key class is not valid. Here is what it does:
- Create 2 instances of the primary key class using the default
constructor.
- The method "equals()" is assumed to be implemented if the method
"equals()" returns "true" when comparing the 2 instances.
- The method "hashcode()" is assumed to be implemented if the return value
of both instances is the same hashcode.
This type of check makes an assumption that 2 instances created with the
default constructor should be equal but the spec says nothing about this.
I think that the check should be done differently (using introspection
maybe?) as the verifier may mistakenly think that a primary class is not
compliant to the spec.
Claude Montpetit
Macadamian Technologies Inc.
"Software solutions for leading ISVs and e-Business"
_________________________
http://www.macadamian.com
[EMAIL PROTECTED]
(613)739-5976 x107
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development