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/
-------------------------------------------------------------------