You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Tim McConnell (JIRA)" <ji...@apache.org> on 2009/02/28 21:30:13 UTC

[jira] Issue Comment Edited: (OPENJPA-908) org.apache.openjpa.persistence.annotations.TestOneToOne

    [ https://issues.apache.org/jira/browse/OPENJPA-908?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12677565#action_12677565 ] 

mcconne edited comment on OPENJPA-908 at 2/28/09 12:29 PM:
-----------------------------------------------------------------

The latest PostgreSQL JDBC driver returns a returns a org.postgresql.util.PGobject object instead of a java.sql.Timestamp. This can be addressed by overriding the getObject() method in the PostgresDictionary to return a java.sql.Timestamp object when a PBobject is encountered. This patch will also fix many of the other failing PostgreSQL testcases failing with ClassCastException(s). 


      was (Author: mcconne):
    The latest PostgreSQL JDBC driver returns a returns a org.postgresql.util.PGobject object instead of a java.sql.Timestamp. This can be addresses by overriding the getObject() method in the PostgresDictionary to return a java.sql.Timestamp object when a PBobject is encountered. This patch will also fix many of the other failing PostgreSQL testcases failing with ClassCastException(s). 

  
> org.apache.openjpa.persistence.annotations.TestOneToOne
> -------------------------------------------------------
>
>                 Key: OPENJPA-908
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-908
>             Project: OpenJPA
>          Issue Type: Sub-task
>            Reporter: Tim McConnell
>            Assignee: Tim McConnell
>         Attachments: OPENJPA-908_2.patch
>
>
> Running org.apache.openjpa.persistence.annotations.TestOneToOne
> 0  TestConv  INFO   [main] openjpa.Runtime - Starting OpenJPA 2.0.0-SNAPSHOT
> 47  TestConv  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.PostgresDictionary" (PostgreSQL 8.3.5 ,PostgreSQL Native Driver PostgreSQL 8.3 JDBC3 with SSL (build 603)).
> java.lang.ClassCastException: org.postgresql.util.PGobject
> 	at org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype.AnnoTest2.pcReplaceField(AnnoTest2.java)
> 	at org.apache.openjpa.kernel.StateManagerImpl.replaceField(StateManagerImpl.java:3044)
> 	at org.apache.openjpa.kernel.DetachManager$DetachFieldManager.detachVersion(DetachManager.java:523)
> 	at org.apache.openjpa.kernel.DetachManager.detachInternal(DetachManager.java:455)
> 	at org.apache.openjpa.kernel.DetachManager.detachAll(DetachManager.java:317)
> 	at org.apache.openjpa.kernel.BrokerImpl.detachAllInternal(BrokerImpl.java:3293)
> 	at org.apache.openjpa.kernel.BrokerImpl.free(BrokerImpl.java:4185)
> 	at org.apache.openjpa.kernel.BrokerImpl.close(BrokerImpl.java:4172)
> 	at org.apache.openjpa.kernel.DelegatingBroker.close(DelegatingBroker.java:1316)
> 	at org.apache.openjpa.persistence.EntityManagerImpl.close(EntityManagerImpl.java:1154)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.closeAllOpenEMs(PersistenceTestCase.java:216)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.closeEMF(PersistenceTestCase.java:195)
> 	at org.apache.openjpa.persistence.common.utils.AbstractTestCase.tearDown(AbstractTestCase.java:125)
> 	at junit.framework.TestCase.runBare(TestCase.java:130)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.runBare(PersistenceTestCase.java:443)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.run(PersistenceTestCase.java:173)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
> 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
> 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
> 	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334)
> 	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980)
> 0  TestConv  INFO   [main] openjpa.Runtime - Starting OpenJPA 2.0.0-SNAPSHOT
> 63  TestConv  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.PostgresDictionary" (PostgreSQL 8.3.5 ,PostgreSQL Native Driver PostgreSQL 8.3 JDBC3 with SSL (build 603)).
> 0  TestConv  INFO   [main] openjpa.Runtime - Starting OpenJPA 2.0.0-SNAPSHOT
> 47  TestConv  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.PostgresDictionary" (PostgreSQL 8.3.5 ,PostgreSQL Native Driver PostgreSQL 8.3 JDBC3 with SSL (build 603)).
> 0  TestConv  INFO   [main] openjpa.Runtime - Starting OpenJPA 2.0.0-SNAPSHOT
> 47  TestConv  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.PostgresDictionary" (PostgreSQL 8.3.5 ,PostgreSQL Native Driver PostgreSQL 8.3 JDBC3 with SSL (build 603)).
> java.lang.ClassCastException: org.postgresql.util.PGobject
> 	at org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype.AnnoTest2.pcReplaceField(AnnoTest2.java)
> 	at org.apache.openjpa.kernel.StateManagerImpl.replaceField(StateManagerImpl.java:3044)
> 	at org.apache.openjpa.kernel.DetachManager$DetachFieldManager.detachVersion(DetachManager.java:523)
> 	at org.apache.openjpa.kernel.DetachManager.detachInternal(DetachManager.java:455)
> 	at org.apache.openjpa.kernel.DetachManager.detachAll(DetachManager.java:317)
> 	at org.apache.openjpa.kernel.BrokerImpl.detachAllInternal(BrokerImpl.java:3293)
> 	at org.apache.openjpa.kernel.BrokerImpl.free(BrokerImpl.java:4185)
> 	at org.apache.openjpa.kernel.BrokerImpl.close(BrokerImpl.java:4172)
> 	at org.apache.openjpa.kernel.DelegatingBroker.close(DelegatingBroker.java:1316)
> 	at org.apache.openjpa.persistence.EntityManagerImpl.close(EntityManagerImpl.java:1154)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.closeAllOpenEMs(PersistenceTestCase.java:216)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.closeEMF(PersistenceTestCase.java:195)
> 	at org.apache.openjpa.persistence.common.utils.AbstractTestCase.tearDown(AbstractTestCase.java:125)
> 	at junit.framework.TestCase.runBare(TestCase.java:130)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.runBare(PersistenceTestCase.java:443)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.run(PersistenceTestCase.java:173)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
> 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
> 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
> 	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334)
> 	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980)
> 0  TestConv  INFO   [main] openjpa.Runtime - Starting OpenJPA 2.0.0-SNAPSHOT
> 46  TestConv  INFO   [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.PostgresDictionary" (PostgreSQL 8.3.5 ,PostgreSQL Native Driver PostgreSQL 8.3 JDBC3 with SSL (build 603)).
> java.lang.ClassCastException: org.postgresql.util.PGobject
> 	at org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype.AnnoTest2.pcReplaceField(AnnoTest2.java)
> 	at org.apache.openjpa.kernel.StateManagerImpl.replaceField(StateManagerImpl.java:3044)
> 	at org.apache.openjpa.kernel.DetachManager$DetachFieldManager.detachVersion(DetachManager.java:523)
> 	at org.apache.openjpa.kernel.DetachManager.detachInternal(DetachManager.java:455)
> 	at org.apache.openjpa.kernel.DetachManager.detachAll(DetachManager.java:317)
> 	at org.apache.openjpa.kernel.BrokerImpl.detachAllInternal(BrokerImpl.java:3293)
> 	at org.apache.openjpa.kernel.BrokerImpl.free(BrokerImpl.java:4185)
> 	at org.apache.openjpa.kernel.BrokerImpl.close(BrokerImpl.java:4172)
> 	at org.apache.openjpa.kernel.DelegatingBroker.close(DelegatingBroker.java:1316)
> 	at org.apache.openjpa.persistence.EntityManagerImpl.close(EntityManagerImpl.java:1154)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.closeAllOpenEMs(PersistenceTestCase.java:216)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.closeEMF(PersistenceTestCase.java:195)
> 	at org.apache.openjpa.persistence.common.utils.AbstractTestCase.tearDown(AbstractTestCase.java:125)
> 	at junit.framework.TestCase.runBare(TestCase.java:130)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.runBare(PersistenceTestCase.java:443)
> 	at junit.framework.TestResult$1.protect(TestResult.java:106)
> 	at junit.framework.TestResult.runProtected(TestResult.java:124)
> 	at junit.framework.TestResult.run(TestResult.java:109)
> 	at junit.framework.TestCase.run(TestCase.java:118)
> 	at org.apache.openjpa.persistence.test.PersistenceTestCase.run(PersistenceTestCase.java:173)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:208)
> 	at junit.framework.TestSuite.run(TestSuite.java:203)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
> 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
> 	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
> 	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334)
> 	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.