Okay, can you try things on the XML side without using a mapping file, just for the sake of completeness ?

Werner

Stromblad wrote:
Hi Werner,

No, I am not upgrading from 0.6, I am using version 0.92.

I am using a mapping file because I use Castor both for transforming xml documents to Java objects and persisting those objects (after some manipulation). At the beginning I had only a .xsd schema, from which I generated those classes that I try to persist via JDO later.

That field of type Vector in the class and its accessor methods have been created by Castor code gen. , and it is supposed to have been working in the past...


2008/2/19, Werner Guttmann <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:

    Hold on, are you saying that you are trying to upgrade from 0.6 to a
    more recent release ? In that case, you might be facing (regression)
    problems, indeed.

    Let me ask you a few questions:

    a) why use a mapping file at all, when the Java classes have been
    generated using Castor's code generator ?
    b) Having a member variable of type List and trying to access it as an
    array ... well, is odd to me.

    Can you break things down to a really simple test case that does *not*
    reference multiple Java classes with tons of properties.

    But let's first see what your answers are ..

    Regards
    Werner


    Stromblad wrote:
     >
     > Thank you for answering, Werner.
     >
     > The strange fact for me is that this mapping file worked before
    as it is
     > now...
     >
     > That relation field is defined as follows in the class:
     >
     >     private java.util.Vector relationList;
     >
     > and its set/get methods are:
     >
     >     public void addRelation(Lom_Relation vRelation)
     >         throws java.lang.IndexOutOfBoundsException
     >     {
     >         relationList.addElement(vRelation);
     >     } //-- void addRelation(Lom_Relation)
     >
     >     public void addRelation(int index, Lom_Relation vRelation)
     >         throws java.lang.IndexOutOfBoundsException
     >     {
     >         relationList.insertElementAt(vRelation, index);
     >     } //-- void addRelation(int, Lom_Relation)
     >
     >     public Lom_Relation getRelation(int index)
     >         throws java.lang.IndexOutOfBoundsException
     >     {
     >         //-- check bounds for index
     >         if ((index < 0) || (index > relationList.size())) {
     >             throw new IndexOutOfBoundsException("getRelation: Index
     > value '"+index+"' not in range [0.."+relationList.size()+ "]");
     >         }
     >
     >         return (Lom_Relation) relationList.elementAt(index);
     >     } //-- Lom_Relation getRelation(int)
     >
     >     public Lom_Relation[] getRelation()
     >     {
     >         int size = relationList.size();
     >         Lom_Relation[] mArray = new Lom_Relation[size];
     >         for (int index = 0; index < size; index++) {
     >             mArray[index] = (Lom_Relation)
    relationList.elementAt(index);
     >         }
     >         return mArray;
     >     }
     >
     > these were generated with Castor's code generator long ago (v
    0.96)...
     >
     >
     > 2008/2/19, Stromblad <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>

     > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>:

     >
     >     First of all, thanks for answering.
     >
     >     That package called "classes" is located in my classpath already.
     >
     >     2008/2/18, Ralf Joachim <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>

     >     <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>:

     >
     >         Hi,
     >
     >         as you highlighted there is a mapping that refers to a class
     >         'classes.Lom_Relation' which could not be found. This
    field mapping
     >         causes castor to search for a class and a class mapping for
     >         'classes.Lom_Relation'. It seams castor is not able to
    find the
     >         class.
     >
     >         Do you have such a class in your classpath or may the
    class be
     >         located
     >         in a different package?
     >
     >         Regards
     >         Ralf
     >
     >
     >         Stromblad schrieb:
     >         >  Hi,
     >         >
     >         >  Thanks for answering. Actually that field you mention is
     >         involved in a
     >         >  1:N relation, as follows:
     >         >
     >         >     <class name="classes.Lom" identity="identity"
     >         key-generator="IDENTITY">
     >         >         <map-to xml="lom" table="LOM"/>
     >         >         <field name="identity" type="integer"
    get-method="getId"
     >         >  set-method="setId">
     >         >                 <sql name="LOMID"/>
     >         >
     >         >         </field>
     >         >         <field name="general" type="classes.Lom_General"
     >         >  get-method="getGeneral" set-method="setGeneral">
     >         >             <sql name="genID"/>
     >         >             <bind-xml name="general"/>
     >         >         </field>
     >         >         <field name="lifecycle"
    type="classes.Lom_Lifecycle"
     >         >  get-method="getLifecycle" set-method="setLifecycle">
     >         >             <sql name="lifecycleID"/>
     >         >             <bind-xml name="lifecycle"/>
     >         >         </field>
     >         >         <field name="metametadata"
    type="classes.Lom_Metametadata"
     >         >  get-method="getMetametadata" set-method="setMetametadata">
     >         >             <sql name="metametadataID"/>
     >         >             <bind-xml name="metametadata"/>
     >         >         </field>
     >         >         <field name="technical"
    type="classes.Lom_Technical"
     >         >  get-method="getTechnical" set-method="setTechnical">
     >         >             <sql name="technicalID"/>
     >         >             <bind-xml name="technical"/>
     >         >         </field>
     >         >         <field name="educational"
    type="classes.Lom_Educational"
     >         >  get-method="getEducational" set-method="setEducational">
     >         >             <sql name="educationalID"/>
     >         >             <bind-xml name="educational"/>
     >         >         </field>
     >         >         <field name="rights" type="classes.Lom_Rights"
     >         >  get-method="getRights" set-method="setRights">
     >         >             <sql name="rightsID"/>
     >         >             <bind-xml name="rights"/>
     >         >         </field>
     >         >         <field name="relationList"
    type="classes.Lom_Relation"
     >         >  collection="array" get-method="getRelation"
     >         set-method="setRelation">
     >         >             <sql many-key="LOMID"/>
     >         >             <bind-xml name="relation"/>
     >         >         </field>
     >         >         <field name="annotationList"
    type="classes.Lom_Annotation"
     >         >  collection="array" get-method="getAnnotation"
     >         set-method="setAnnotation">
     >         >             <sql many-key="LOMID"/>
     >         >             <bind-xml name="annotation"/>
     >         >         </field>
     >         >         <field name="classificationList"
     >         >  type="classes.Lom_Classification" collection="array"
     >         >  get-method="getClassification"
    set-method="setClassification">
     >         >             <sql many-key="LOMID"/>
     >         >             <bind-xml name="classification"/>
     >         >         </field>
     >         >         <field name="fileURL" type="java.lang.String"
     >         >  get-method="getFileURL" set-method="setFileURL">
     >         >             <sql name="fileURL"/>
     >         >         </field>
     >         >     </class>
     >         >
     >         >  Where could the problem be?
     >         >  Thanks in advance
     >         >
     >         >  2008/2/14, Werner Guttmann <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
     >         <mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>
     >         >  <mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
     >         <mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>>>:
     >         >
     >         >     Hi,
     >         >
     >         >     it looks like the problem is NOT with the class
    mapping,
     >         but a field
     >         >     mapping that actually is typed against this class.
    Is there
     >         such a field
     >         >     mapping ?
     >         >
     >         >     Werner
     >         >
     >         >     Stromblad wrote:
     >         >     > Hello,
     >         >     >
     >         >     > when a piece of code written by me (a web service
     >         actually) tries to
     >         >     > load the configuration and mapping file for my
     >         application I get
     >         >     this error:
     >         >     >
     >         >     > org.exolab.castor.mapping.MappingException: Could not
     >         find the class
     >         >     > [Lclasses.Lom_Relation;
     >         >     >         at
     >         >     >
> org.exolab.castor.persist.FieldMolder.<init>(FieldMolder.java:551)
     >         >     >         at
     >         >     >
> org.exolab.castor.persist.ClassMolder.<init>(ClassMolder.java:384)
     >         >     >         at
     >         >     >
     >         >
> org.exolab.castor.persist.ClassMolderHelper.resolve(ClassMolderHelper.java:58)
     >         >     >         at
     >         >
> org.exolab.castor.persist.LockEngine.<init>(LockEngine.java:177)
     >         >     >         at
     >         >     >
     >         >
> org.exolab.castor.persist.PersistenceEngineFactory.createEngine(PersistenceEngineFactory.java:77)
     >         >     >         at
     >         >     >
     >         >
> org.castor.jdo.engine.AbstractConnectionFactory.initializeEngine(AbstractConnectionFactory.java:207)
     >         >     >         at
     >         >     >
     >         >
> org.castor.jdo.engine.AbstractConnectionFactory.initialize(AbstractConnectionFactory.java:151)
     >         >     >         at
     >         >     >
     >         >
> org.castor.jdo.engine.DatabaseRegistry.loadDatabase(DatabaseRegistry.java:177)
     >         >     >         at
     >         >     >
     >         >
> org.castor.jdo.engine.DatabaseRegistry.loadDatabase(DatabaseRegistry.java:136)
     >         >     >         at
     >         >     >
     >         >
> org.exolab.castor.jdo.JDOManager.loadConfiguration(JDOManager.java:317)
     >         >     >         at
     >         >     >
     >         >
> org.exolab.castor.jdo.JDOManager.loadConfiguration(JDOManager.java:350)
     >         >     >         at db.lomDB.connect(lomDB.java:48)
     >         >     >         at
    lom.deleteFromDB.delete(deleteFromDB.java:20)
     >         >     >         at
     >         >     >
     >         >
> lomService_pkg.LomServiceSoapBindingImpl.borrar(LomServiceSoapBindingImpl.java:216)
     >         >     >         at
     >         >     >
     >         >
> lomService_pkg.LomServiceSoapBindingSkeleton.borrar(LomServiceSoapBindingSkeleton.java:124)
     >         >     >         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:597)
     >         >     >         at
     >         >     >
     >         >
> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
     >         >     >         at
     >         >     >
     >         >
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
     >         >     >         at
     >         >     >
     >         >
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
     >         >     >         at
     >         >     >
     >         >
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
     >         >     >         at
> > org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
     >         >     >         at
     >         org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
     >         >     >         at
     >         >     >
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
     >         >     >         at
> > org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
     >         >     >         at
     >         >     >
     >         >
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
     >         >     >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
     >         >     >         at
     >         >     >
     >         >
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
     >         >     >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     >         >     >         at
     >         >     >
     >         >
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     >         >     >         at
     >         >     >
     >         >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
     >         >     >         at
     >         >     >
     >         >
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
     >         >     >         at
     >         >     >
     >         >
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
     >         >     >         at
     >         >     >
     >         >
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
     >         >     >         at java.lang.Thread.run(Thread.java:619)
     >         >     >
     >         >     > In the mapping file that class
    classes.Lom_Relation is
     >         correctly
     >         >     defined:
     >         >     >
     >         >     > <class name="classes.Lom_Relation"
    identity="identity"
     >         >     > key-generator="IDENTITY" >
     >         >     >         <map-to xml="relation"
    table="LOM_RELATION" />
     >         >     > (...)
     >         >     > </class>
     >         >     >
     >         >     > I have that package called classes in my
    classpath...so i
     >         can't figure
     >         >     > out where the mistake is.
     >         >     > Any help would be much appreciated.
     >         >     >
     >         >     >
     >         >     > Thanks in advance.
     >         >     >
     >         >
     >         >
     >         >
> ---------------------------------------------------------------------
     >         >     To unsubscribe from this list, please visit:
     >         >
     >         >         http://xircles.codehaus.org/manage_email
     >         >
     >         >
     >         >
     >
     >         --
     >
     >         Syscon Ingenieurbüro für Meß- und Datentechnik GmbH
     >         Ralf Joachim
     >         Raiffeisenstraße 11
     >         72127 Kusterdingen
     >         Germany
     >
     >         Tel.   +49 7071 3690 52
     >         Mobil: +49 173 9630135
     >         Fax    +49 7071 3690 98
     >
     >         Internet: www.syscon.eu

     >         E-Mail: [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>>

     >
     >         Sitz der Gesellschaft: D-72127 Kusterdingen
     >         Registereintrag: Amtsgericht Stuttgart, HRB 382295
     >         Geschäftsleitung: Jens Joachim, Ralf Joachim
     >
> ---------------------------------------------------------------------
     >         To unsubscribe from this list, please visit:
     >
     >             http://xircles.codehaus.org/manage_email
     >
     >
     >
     >


    ---------------------------------------------------------------------
    To unsubscribe from this list, please visit:

        http://xircles.codehaus.org/manage_email




---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to