You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by Michael Watzek <mw...@spree.de> on 2005/06/16 19:54:45 UTC
Patch for JIRA JDO-54
Hi,
please find the patch for JIRA JDO-54 (Complete Company model interface
classes) attached.
These are the changes of the patch:
1) Interfaces for all company model classes have been added.
2) Model classes implement these interfaces.
3) All getter methods returning model classes have been changed to
return interfaces.
4) The signature of all setter methods taking model classes has been
changed to take Interfaces.
5) The field types of model classes having relationships to other model
classes have been changed to accept interfaces.
6) Two test cases have been adapted to declare interfaces instead of
model classes.
There is an exception to 3), 4), and 5): Model classes "Person" and
"Company" do still declare fields of type "Address" instead of
"IAddress". In the JDO meta data, these fields are declared as embedded.
JPOX does not allow embedded fields to have an interface type.
Please note, that I did not change the meta data from persistence
capable classes to persistence capable interfaces.
A TCK run with this patch produces more errors than expected:
Datastore identity:
Tests run: 350, Failures: 11, Errors: 98
Application identity:
Tests run: 350, Failures: 11, Errors: 93
Yesterday, I had 88 errors for datastore identity and 84 for application
identity. For this reason, I checked the error exceptions for datastore
identity. Below, I tried to gather the same exceptions. I looks like
many errors exceptions are thrown for the same reasons. The amount of
different error exceptions is small:
- 39 NPE at
org.jpox.store.rdbms.table.ClassTable.getFieldMapping(ClassTable.java:1541)
- 25 ERROR 22001: A truncation error was encountered trying to shrink
CHAR ... to length 1.
- 15 javax.jdo.JDOUserException: No implementation classes found for ...
- 8 ERROR 40XL1: A lock could not be obtained within the time requested
- 5 Exception during tearDown: javax.jdo.JDOUserException:
getObjectById() does not accept null id values.
- 2 javax.jdo.JDOUserException: Can't read fields with outside of
transactions. You may want to set 'NontransactionalRead=true'.
- 2 ERROR 42X05: Table ... does not exist.
--
96
I must have overseen two exceptions.
Regards,
Michael
--
-------------------------------------------------------------------
Michael Watzek Tech@Spree Engineering GmbH
mailto:mwa.tech@spree.de Buelowstr. 66
Tel.: ++49/30/235 520 36 10783 Berlin - Germany
Fax.: ++49/30/217 520 12 http://www.spree.de/
-------------------------------------------------------------------