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

Reply via email to