Eitan,

Are you using the CVS version?

What does the generated Mapping file look like? Does it look valid?

--Keith

Eitan Suez wrote:
> 
> Hi All,
> 
>   I have taken a little time to review the castor documentation
>   this weekend.  I have also skimmed through some of the mailing
>   list archives (how it has grown!).
> 
>   I have discovered castor features I wasn't familiar with such
>   as the org.exolab.castor.tools.MappingTool that can be used
>   to automatically generate a skeleton mapping file which can
>   be used as a starting point for a custom mapping file.  It
>   takes a lot of the drudgery out of writing the mappings for
>   existing java classes.
> 
>   Question: i got mappingtool to work for a class with a
>   list of properties.  when i tried to run it again using a
>   class with a collection property, it failed.  i may be using
>   the tool wrong.  here's simple code i used to run MappingTool:
> 
> ===============================
> package com.u2d.tests;
> 
> import org.exolab.castor.tools.*;
> import java.io.*;
> 
> public class MapMaker
> {
> 
>    public static void main(String[] args) throws Exception
>    {
>       MappingTool maptool = new MappingTool();
>       maptool.addClass("com.u2d.ide.Debugger");
>       File outfile = new File("outfile.xml");
>       FileWriter w = new FileWriter(outfile);
>       maptool.write(w);
>       w.close();
>    }
> }
> ===============================
> 
>   here's a class for which this run failed:
> 
> ===============================
> package com.u2d.ide;
> 
> import java.util.*;
> 
> public class Debugger
> {
>    private List classpaths;
>    private String jreVersion;
> 
>    public Debugger()
>    {
>       classpaths = new ArrayList(10);
>    }
> 
>    public List getClasspaths()
>    {
>       return classpaths;
>    }
>    public void addClasspath(String path)
>    {
>       classpaths.add(path);
>    }
> 
>    public String getJreVersion()
>    {
>       return jreVersion;
>    }
>    public void setJreVersion(String ver)
>    {
>       jreVersion = ver;
>    }
> 
>    public String toString()
>    {
>       String cp = "";
>       for (int i=0; i<classpaths.size(); i++)
>       {
>          cp += classpaths.get(i) + ":" ;
>       }
>       return "\n\t\tclasspath: "+cp+"; "+
>        "\n\t\tjre version: "+jreVersion;
>    }
> }
> ===============================
> 
> i verified that if i were to remove the "classpaths"
> property from "Debugger", my MapMaker class's run would
> complete successfully.
> 
> finally, here's the exception i got:
> 
> ===============================
> Exception in thread "main" ValidationException: "" is not a valid NCName.;
>    - location of error: XPATH: mapping/class/field/@name
>         at
> org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:1
> 18)
>         at
> org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:1
> 33)
>         at
> org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:249)
>         at org.exolab.castor.xml.Validator.validate(Validator.java:133)
>         at
> org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:217)
>         at org.exolab.castor.xml.Validator.validate(Validator.java:133)
>         at
> org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:217)
>         at org.exolab.castor.xml.Validator.validate(Validator.java:133)
>         at org.exolab.castor.xml.Marshaller.validate(Marshaller.java:1152)
>         at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:534)
>         at org.exolab.castor.tools.MappingTool.write(MappingTool.java:387)
>         at com.u2d.tests.MapMaker.main(MapMaker.java:17)
> ===============================
> 
> on a related note, i would be more than happy to add some mappingtool
> documentation
> to the documentation set.  if anyone would like to reply to this thread and
> volunteer
> extra information they've learned from using the mappingtool, i will make
> sure to
> include that information in the documentation.
> 
> Thanks, Eitan
> 
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
>         unsubscribe castor-dev

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to