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 "Andy Jefferson (JIRA)" <ji...@apache.org> on 2006/01/06 07:49:52 UTC

[jira] Commented: (JDO-263) TestArrayCollections: Field "org.apache.jdo.tck.pc.fieldtypes.ArrayCollections.ArrayOfObject1" is declared as a reference type (interface/Object) but no implementation classes of "java.lang.Object" have been found!

    [ http://issues.apache.org/jira/browse/JDO-263?page=comments#action_12361932 ] 

Andy Jefferson commented on JDO-263:
------------------------------------

Hi Michelle,
looks much better now. Not sure what you're expecting from me on this one. The error is

test(org.apache.jdo.tck.models.fieldtypes.TestArrayCollections)junit.framework.AssertionFailedError: Assertion (TestArrayCollections) failed:
    [java] Expected and observed do not match!!
    [java] For element 12[0], expected = 2007908.54548, actual = 2007908.54548000008799135684967041015625 .
    [java] For element 12[1], expected = 0.544, actual = 0.544000000000000039079850466805510222911834716796875 .
    [java] For element 12[2], expected = 3002323232.545454, actual = 3002323232.5454540252685546875 .
    [java] For element 12[3], expected = 64564645656.78657, actual = 64564645656.78656768798828125 .
    [java] For element 12[4], expected = 4564565465.2342, actual = 4564565465.23419952392578125 .
    [java]      at org.apache.jdo.tck.JDO_Test.fail(JDO_Test.java:546)
    [java]      at org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.checkValues(TestArrayCollections.java:194)
    [java]      at org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.runTest(TestArrayCollections.java:111)
    [java]      at org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.test(TestArrayCollections.java:73)

so we have a series of floating point numbers that were stored in the RDBMS and when retrieved have a different precision. We know that RDBMS don't preserve the precision exactly (as shown on other TCK tests). Does the TCK not have a method to perform rounding so that the numbers can be compared at the precision of the value that was input ? With all of the differences above, if the actual value is rounded up or down (depending on the number) they would be identical and the test would pass.

> TestArrayCollections: Field "org.apache.jdo.tck.pc.fieldtypes.ArrayCollections.ArrayOfObject1" is declared as a reference type (interface/Object) but no implementation classes of "java.lang.Object" have been found!
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: JDO-263
>          URL: http://issues.apache.org/jira/browse/JDO-263
>      Project: JDO
>         Type: Bug
>   Components: tck20
>     Reporter: Michelle Caisse
>     Assignee: Andy Jefferson
>  Attachments: jdo-263.patch
>
> test(org.apache.jdo.tck.models.fieldtypes.TestArrayCollections)javax.jdo.JDOUserException: Field "org.apache.jdo.tck.pc.fieldtypes.ArrayCollections.ArrayOfObject1" is declared as a reference type (interface/Object) but no implementation classes of "java.lang.Object" have been found!
> 	at org.jpox.metadata.MetaDataUtils.getImplementationNamesForReferenceField(MetaDataUtils.java:594)
> 	at org.jpox.store.rdbms.table.ColumnCreator.createColumnsForReferenceField(ColumnCreator.java:184)
> 	at org.jpox.store.rdbms.table.ColumnCreator.createColumnsForField(ColumnCreator.java:296)
> 	at org.jpox.store.rdbms.table.ColumnCreator.createColumns(ColumnCreator.java:95)
> 	at org.jpox.store.rdbms.table.ArrayTable.initialize(ArrayTable.java:83)
> 	at org.jpox.store.rdbms.RDBMSManager$ClassAdder.addClassTablesAndValidate(RDBMSManager.java:2404)
> 	at org.jpox.store.rdbms.RDBMSManager$ClassAdder.run(RDBMSManager.java:2033)
> 	at org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute(RDBMSManager.java:1893)
> 	at org.jpox.store.rdbms.RDBMSManager.addClasses(RDBMSManager.java:479)
> 	at org.jpox.store.rdbms.RDBMSManager.addClass(RDBMSManager.java:493)
> 	at org.jpox.store.rdbms.RDBMSManager.getDatastoreClass(RDBMSManager.java:766)
> 	at org.jpox.state.StateManagerImpl.populateStrategyFields(StateManagerImpl.java:781)
> 	at org.jpox.state.StateManagerImpl.<init>(StateManagerImpl.java:584)
> 	at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1076)
> 	at org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1131)
> 	at org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.runTest(TestArrayCollections.java:93)
> 	at org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.test(TestArrayCollections.java:69)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:204)
> 	at org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
> 	at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)

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