Hi all,
I just updated my castor jar using the daily snapshot source and I got
this error. I am migrating from 0.9.5.3. I am using j2sdk1.4.2_04. Below
is the stack trace, the database.xml, the mapping.xml, and even the
source code that all works with 0.9.5.3.
unable to find FieldDescriptor for 'driver' in ClassDescriptor of
jdo-conf
org.xml.sax.SAXException: unable to find FieldDescriptor for 'driver' in
ClassDescriptor of jdo-conf
at
org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1802)
at
org.exolab.castor.xml.UnmarshalHandler.startElement(UnmarshalHandler.java:1302)
at
org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376)
at
org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:1197)
at
org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1862)
at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1238)
at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
at
org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1035)
at
org.exolab.castor.xml.Unmarshaller.unmarshal(Unmarshaller.java:608)
at
org.exolab.castor.jdo.engine.JDOConfLoader.loadConfiguration(JDOConfLoader.java:95)
at
org.exolab.castor.jdo.engine.JDOConfLoader.getDatabase(JDOConfLoader.java:134)
at
org.exolab.castor.jdo.engine.DatabaseRegistry.loadDatabase(DatabaseRegistry.java:235)
at org.exolab.castor.jdo.JDO.getDatabase(JDO.java:584)
at test.finaixm.oql.LoadRte.process(LoadRte.java:26)
at test.finaixm.oql.LoadRte.main(LoadRte.java:60)
I checked out the jdo-conf.xsd and the mapping.xsd files but I don't see
any anomaly.
<!DOCTYPE databases PUBLIC "-//EXOLAB/Castor JDO Configuration DTD
Version 1.0//EN"
"http://castor.exolab.org/jdo-conf.dtd">
<database name="aip9" engine="oracle">
<!-- Findev -->
<driver class-name="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@142.3.26.15:1526:AIP">
<param name="user" value="aiptest" />
<param name="password" value="aiptest" />
</driver>
<mapping href="etc/mapping.xml" />
</database>
Mapping is XSLT generated so sorry for the formatting.
<?xml version="1.0" encoding="UTF-8"?>
<mapping>
<key-generator alias="SEQ" name="SEQUENCE">
<param value="seq_id" name="sequence"/>
</key-generator>
<class identity="addrId " name="db.finaixm.Address" key-generator="SEQ">
<cache-type type="none"/>
<map-to table="AIPTEST.ADDRESS"/>
<field name="addmAddrMId" type="long">
<sql name="ADDM_ADDR_M_ID"/>
</field>
<field name="addrId" type="long">
<sql name="ADDR_ID"/>
</field>
<field name="codeTarget" type="string">
<sql name="CODE_TARGET"/>
</field>
<field name="codeType" type="string">
<sql name="CODE_TYPE"/>
</field>
<field name="dateCancelled" type="timestamp">
<sql name="DATE_CANCELLED"/>
</field>
<field name="dateEnd" type="timestamp">
<sql name="DATE_END"/>
</field>
<field name="dateStart" type="timestamp">
<sql name="DATE_START"/>
</field>
<field name="owner" type="string">
<sql name="OWNER"/>
</field>
<field name="txtAddress" type="string">
<sql name="TXT_ADDRESS"/>
</field>
<field name="txtRmk" type="string">
<sql name="TXT_RMK"/>
</field>
</class>
..
<class identity="vid " name="db.finaixm.VorTimesheet"
key-generator="SEQ">
<cache-type type="none"/>
<map-to table="AIPTEST.VOR_TIMESHEET"/>
<field name="codeCombTil" type="string">
<sql name="CODE_COMB_TIL"/>
</field>
<field name="codeCombWef" type="string">
<sql name="CODE_COMB_WEF"/>
</field>
<field name="codeDay" type="string">
<sql name="CODE_DAY"/>
</field>
<field name="codeDayTil" type="string">
<sql name="CODE_DAY_TIL"/>
</field>
<field name="codeEventTil" type="string">
<sql name="CODE_EVENT_TIL"/>
</field>
<field name="codeEventWef" type="string">
<sql name="CODE_EVENT_WEF"/>
</field>
<field name="codeTimeRef" type="string">
<sql name="CODE_TIME_REF"/>
</field>
<field name="codeType" type="string">
<sql name="CODE_TYPE"/>
</field>
<field name="dateValidTil" type="string">
<sql name="DATE_VALID_TIL"/>
</field>
<field name="dateValidWef" type="string">
<sql name="DATE_VALID_WEF"/>
</field>
<field name="timeRelEventTil" type="long">
<sql name="TIME_REL_EVENT_TIL"/>
</field>
<field name="timeRelEventWef" type="long">
<sql name="TIME_REL_EVENT_WEF"/>
</field>
<field name="timeTil" type="timestamp">
<sql name="TIME_TIL"/>
</field>
<field name="timeWef" type="timestamp">
<sql name="TIME_WEF"/>
</field>
<field name="vid" type="long">
<sql name="VID"/>
</field>
<field name="vorVerId" type="long">
<sql name="VOR_VER_ID"/>
</field>
</class>
</mapping>
And the code that is getting executed :
public void process() throws Exception {
// Obtain all Rte objects from the database
JDO jdo = new JDO();
jdo.setDatabaseName("aip9");
jdo.setConfiguration("etc/database-findev.xml");
jdo.setClassLoader(getClass().getClassLoader());
Database database = jdo.getDatabase();
database.begin();
Query queryRte = database
.getOQLQuery("SELECT v FROM db.finaixm.Rte v
WHERE verId=$");
queryRte.bind(new Long(1));
QueryResults queryResultsRte = queryRte.execute();
TreeBidiMap RteUidMap = new TreeBidiMap();
while (queryResultsRte.hasMore()) {
db.finaixm.Rte element = (db.finaixm.Rte)
queryResultsRte
.nextElement();
// Insert them as RteUid objects
RteUid RteUid = new RteUid(
element);
RteUidMap.put(RteUid, element.getRtemCodeRteId());
}
System.out.println("size : " + RteUidMap.size());
queryResultsRte.close();
queryRte.close();
database.commit();
database.close();
}
Thanks for any help,
Phil
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev