[ http://issues.apache.org/jira/browse/JDO-364?page=all ]
Michael Bouschen resolved JDO-364:
----------------------------------
Resolution: Fixed
> Completness tests fail with generated implementation classes for interfaces
> ---------------------------------------------------------------------------
>
> Key: JDO-364
> URL: http://issues.apache.org/jira/browse/JDO-364
> Project: JDO
> Type: Bug
> Components: tck20
> Versions: JDO 2 rc1
> Reporter: Craig Russell
> Assignee: Michael Bouschen
> Fix For: JDO 2 final
> Attachments: JDO-364.patch
>
> Completeness tests fail while comparing collections of persistent interfaces.
> This is because EqualityHelper invokes Collections.sort(Collection), which
> requires that the instances in the parameter Collection implement compareTo.
> The instances are not required by the specification to implement compareTo;
> therefore a Comparator must be provided to the sort method.
> Further, classes Department and FullTimeEmployee incorrectly cast to the
> class instead of the interface in the deepCompareFields method.
> Finally, the root classes Address, Company, Department, Insurance, Person,
> and Project need to implement the compare(Object, Object) methods directly,
> as there are three instances involved: the Comparator instance, which is an
> instance of the class, and the two instances to be compared. Both of the
> instances to be compared might be of the JDO-generated classes, which don't
> implement any comparison methods. The compare(Object, Object),
> compareTo(Object), and compareTo(SpecificInterface) should be refactored to
> use a common implementation using only the interface for comparison.
> As a specification activity beyond JDO 2.0, we might consider adding metadata
> to require the JDO implementation to generate comparison methods from the
> Comparable or Comparator interfaces based on field values. For datastore
> identity, simply tagging the interfaces, e.g. "interface IDepartment extends
> Comparable", doesn't give the implementation enough information as to which
> fields to compare.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira