hi robert,
imo the error occurs on line 162, where the entry is casted to ForeignKey
...
for (int i = 0; i < fkFields.size(); i++)
{
ForeignKey fk = (ForeignKey) fkFields.get(i);
FieldDescriptor fkfd;
...this could only happen when the foreign key vector is set manually (using setForeignKey).
jakob
Janssen, Roger schrieb:
used cvs head from last friday (7th januari, about 13:00 hour) rebuild ojb using 'ant clean jar-debug' using ant 1.6.2 and JDK1.4 executed my testcases using new db-ojb-1.1.0.jar
below is the stacktrace:
ibanx.persistence.query.QueryException: org.apache.ojb.broker.PersistenceBrokerException: Can't query for collection at ibanx.persistence.ojb.QueryMgrPB.execute(QueryMgrPB.java:1255) at ibanx.persistence.test.DynamicMappingTest.testQueryDynamicCollectionDescript or(DynamicMappingTest.java:399) 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:324) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) 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 junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRu nner.java:325) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestR unner.java:536) Caused by: org.apache.ojb.broker.PersistenceBrokerException: Can't query for collection at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknow n Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery( Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery( Unknown Source) at ibanx.persistence.ojb.QueryMgrPB.execute(QueryMgrPB.java:1169) ... 15 more Caused by: java.lang.ClassCastException at org.apache.ojb.broker.metadata.ObjectReferenceDescriptor.getForeignKeyTarget FieldDescriptors(Unknown Source) at org.apache.ojb.broker.accesslayer.sql.TableAliasHandler.getTableAlias(Unknow n Source) at org.apache.ojb.broker.accesslayer.sql.TableAliasHandler.buildJoinTreeForAttr ibute(Unknown Source) at org.apache.ojb.broker.accesslayer.sql.TableAliasHandler.buildJoinTree(Unknow n Source) at org.apache.ojb.broker.accesslayer.sql.TableAliasHandler.buildJoinTree(Unknow n Source) at org.apache.ojb.broker.accesslayer.sql.TableAliasHandler.splitCriteria(Unknow n Source) at org.apache.ojb.broker.accesslayer.sql.TableAliasHandler.<init>(Unknown Source) at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.<init>(Unknown Source) at org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement.<init>(Unknown Source) at org.apache.ojb.broker.accesslayer.sql.SqlSelectStatement.<init>(Unknown Source) at org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl.getPreparedSel ectStatement(Unknown Source) at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown Source) at org.apache.ojb.broker.accesslayer.batch.BatchManagerImpl.executeQuery(Unknow n Source) at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIteratorFactoryImpl.createRsIterator(Unk nown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unkn own Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknow n Source) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source) ... 19 more
Roger Janssen
-----Original Message----- From: Thomas Dudziak [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 11, 2005 3:12 PM To: OJB Users List Subject: Re: BUG [CVS HEAD] : unable to query for classes which mappings h ave been altered dynamically
The problem is that your OJB jar does not contain line information, hence the "(Unknown Source)" statements in the stacktrace. Could you rebuild OJB using the "clean" and "jar-debug" Ant targets and then execute your program again ? Otherwise it is a bit difficult to locate the error.
PS: If you're using Java 5, then you need the newest Ant build file from CVS head, where I added the debug options for Java 5 (per default, Java 5's javac won't generate line informations even when compiling with the -g option).
regards, Tom
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
