Java Mailing List Archive

http://www.junlu.com/

Home » user.castor »

Re: [castor-user] Not able to generate mapping files using MappingTool

Werner Guttmann

2012-06-05

Replies: Find Java Web Hosting

Author LoginPost Reply
Hi,

can you please raise a new ticket at Jira
(http://jira.codehaus.org/browse/CASTOR), and attach the class that
causes problems during creation of the mapping files. Please try to keep
things at a minimum in general, as it will help us to track down the
problem.

Kind Regards
Werner

On 30.05.2012 15:20, rednix wrote:
>
> I'm getting the same error. Would be nice if someone can have a look at this
> issue.
>
>
> Sarry wrote:
>>
>> I tried every single approach and every single 3rd party tool available to
>> generate the mapping files, but I am not able to generate them. I also
>> tried with the code given in example and made sure that the class is
>> present in the classpath, but still getting the same error.
>>
>> Here is the code that I got from samples:
>>
>> /*
>>
>>  * Created on Aug 11, 2004
>>
>>  *
>>
>>  * To change the template for this generated file go to
>>
>>  * Window - Preferences - Java - Code Generation - Code and Comments
>>
>>  */
>>
>>
>>
>> import java.io.File;
>> import java.io.FileOutputStream;
>> import java.io.OutputStream;
>> import java.io.OutputStreamWriter;
>> import java.io.Writer;
>>
>> import org.apache.commons.logging.Log;
>> import org.apache.commons.logging.LogFactory;
>> import org.exolab.castor.tools.MappingTool;
>> import org.exolab.castor.xml.XMLContext;
>>
>> import com.rac.sims.domain.Person;
>>
>> /**
>>  *
>>  * generate a Castor mapping file ready for editing
>>  */
>>
>> public class CastorMapper {
>>
>>  private MappingTool tool = null;
>>
>>  private static Log log = LogFactory.getFactory().getInstance(
>>      CastorMapper.class);
>>
>>  private static final String OUTPUT_FILE = "product-mapping.xml";
>>
>>  public CastorMapper() {
>>
>>    try {
>>
>>      tool = new XMLContext().createMappingTool();
>>
>>    }
>>
>>    catch (Exception e) {
>>
>>      log.error(e.getClass().getName(), e);
>>
>>    }
>>
>>  }
>>
>>  public void createMapping(Class[] someClasses, String outputFile) {
>>
>>    try {
>>
>>      for (int i = 0; i< someClasses.length; i++) {
>>
>>        tool.addClass(someClasses[i]);
>>
>>      }
>>
>>      File file = new File(outputFile);
>>
>>      log.debug("Output will has been created at "
>>          + file.getAbsolutePath());
>>
>>      OutputStream stream = new FileOutputStream(file);
>>
>>      Writer writer = new OutputStreamWriter(stream);
>>
>>      tool.write(writer);
>>
>>      writer.close();
>>
>>    }
>>
>>    catch (Exception e) {
>>
>>      log.error(e.getClass().getName(), e);
>>
>>    }
>>
>>  }
>>
>>  public void createMapping(String aClass, String outputFile) {
>>
>>    try {
>>
>>      tool.addClass(aClass);
>>
>>      File file = new File(outputFile);
>>
>>      log.debug("Output will has been created at "
>>          + file.getAbsolutePath());
>>
>>      OutputStream stream = new FileOutputStream(file);
>>
>>      Writer writer = new OutputStreamWriter(stream);
>>
>>      tool.write(writer);
>>
>>      writer.close();
>>
>>    }
>>
>>    catch (Exception e) {
>>
>>      log.error(e.getClass().getName(), e);
>>
>>    }
>>
>>  }
>>
>>  public static void main(String[] args) {
>>
>>    CastorMapper mapper = new CastorMapper();
>>
>>    mapper.createMapping(Person.class.getName(), OUTPUT_FILE);
>>
>>  }
>>
>> }
>>
>> Here is the error I am getting:
>>
>> 16:42:13 AbstractProperties [DEBUG] Properties loaded from classpath:
>> /org/castor/core/castor.core.properties
>> 16:42:13 AbstractProperties [DEBUG] Properties loaded from classpath:
>> /org/castor/xml/castor.xml.properties
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] New
>> instance!
>> 16:42:13 XMLContext [DEBUG] Creating new MappingTool instance.
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Get
>> descriptor for: com.rac.sims.domain.Person found: null
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Get
>> descriptor for: com.rac.sims.domain.Person found: null
>> 16:42:13 CastorXMLStrategy [DEBUG] Setting property:
>> org.exolab.castor.xml.util.ResolverStrategy.LoadPackageMappings to value:
>> true
>> 16:42:13 CastorXMLStrategy [DEBUG] Setting property:
>> org.exolab.castor.xml.util.ResolverStrategy.useIntrospection to value:
>> true
>> 16:42:13 CastorXMLStrategy [DEBUG] Setting property:
>> org.exolab.castor.xml.util.ResolverStrategy.MappingLoader to value: null
>> 16:42:13 CastorXMLStrategy [DEBUG] Setting property:
>> org.exolab.castor.xml.util.ResolverStrategy.Introspector to value:
>> org.exolab.castor.xml.Introspector@(protected)
>> 16:42:13 CastorXMLStrategy [DEBUG] Setting property:
>> org.exolab.castor.xml.util.ResolverStrategy.ClassLoader to value:
>> sun.misc.Launcher$AppClassLoader@(protected)
>> 16:42:13 CastorXMLStrategy [DEBUG] Setting property:
>> org.exolab.castor.xml.util.ResolverStrategy.LoadPackageMappings to value:
>> true
>> 16:42:13 CastorXMLStrategy [DEBUG] Setting property:
>> org.exolab.castor.xml.util.ResolverStrategy.useIntrospection to value:
>> true
>> 16:42:13 CastorXMLStrategy [DEBUG] Setting property:
>> org.exolab.castor.xml.util.ResolverStrategy.MappingLoader to value: null
>> 16:42:13 CastorXMLStrategy [DEBUG] Setting property:
>> org.exolab.castor.xml.util.ResolverStrategy.Introspector to value:
>> org.exolab.castor.xml.Introspector@(protected)
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Get
>> descriptor for: com.rac.sims.domain.Person found: null
>> 16:42:13 AbstractResolverClassCommand [DEBUG] Now in method:
>> org.exolab.castor.xml.util.resolvers.ByMappingLoader resolving:
>> com.rac.sims.domain.Person
>> 16:42:13 ByMappingLoader [DEBUG] No mapping loader specified
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Called
>> addAllDescriptors with null or empty descriptor map
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Get
>> descriptor for: com.rac.sims.domain.Person found: null
>> 16:42:13 AbstractResolverPackageCommand [DEBUG] Now in resolve method:
>> org.exolab.castor.xml.util.resolvers.ByCDR resolving: com.rac.sims.domain
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Called
>> addAllDescriptors with null or empty descriptor map
>> 16:42:13 AbstractResolverPackageCommand [DEBUG] Now in resolve method:
>> org.exolab.castor.xml.util.resolvers.ByPackageMapping resolving:
>> com.rac.sims.domain
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Called
>> addAllDescriptors with null or empty descriptor map
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Get
>> descriptor for: com.rac.sims.domain.Person found: null
>> 16:42:13 AbstractResolverClassCommand [DEBUG] Now in method:
>> org.exolab.castor.xml.util.resolvers.ByDescriptorClass resolving:
>> com.rac.sims.domain.Person
>> 16:42:13 ResolveHelpers [DEBUG] Ignored problem at loading class:
>> com.rac.sims.domain.PersonDescriptor through class loader:
>> sun.misc.Launcher$AppClassLoader@(protected):
>> java.lang.ClassNotFoundException: com.rac.sims.domain.PersonDescriptor
>> 16:42:13 ResolveHelpers [DEBUG] Ignored problem at loading class:
>> com.rac.sims.domain.descriptors.PersonDescriptor through class loader:
>> sun.misc.Launcher$AppClassLoader@(protected):
>> java.lang.ClassNotFoundException:
>> com.rac.sims.domain.descriptors.PersonDescriptor
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Called
>> addAllDescriptors with null or empty descriptor map
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Get
>> descriptor for: com.rac.sims.domain.Person found: null
>> 16:42:13 AbstractResolverClassCommand [DEBUG] Now in method:
>> org.exolab.castor.xml.util.resolvers.ByIntrospection resolving:
>> com.rac.sims.domain.Person
>> 16:42:13 AbstractProperties [DEBUG] Properties loaded from classpath:
>> /org/castor/core/castor.core.properties
>> 16:42:13 AbstractProperties [DEBUG] Properties loaded from classpath:
>> /org/castor/xml/castor.xml.properties
>> 16:42:13 ByIntrospection [DEBUG] Found descriptor:
>> org.exolab.castor.xml.IntrospectedXMLClassDescriptor@(protected)
>> for class: com.rac.sims.domain.Person; xml name: null
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Adding
>> descriptor class for: com.rac.sims.domain.Person descriptor:
>> org.exolab.castor.xml.IntrospectedXMLClassDescriptor@(protected)
>> for class: com.rac.sims.domain.Person; xml name: null
>> 16:42:13 XMLClassDescriptorResolverImpl$DescriptorCacheImpl [DEBUG] Get
>> descriptor for: com.rac.sims.domain.Person found:
>> org.exolab.castor.xml.IntrospectedXMLClassDescriptor@(protected)
>> for class: com.rac.sims.domain.Person; xml name: null
>> 16:42:13 CastorMapper [ERROR] java.lang.IllegalArgumentException
>> java.lang.IllegalArgumentException: No enum const class
>> org.exolab.castor.mapping.xml.types.BindXmlNodeType.element
>>  at java.lang.Enum.valueOf (Enum.java:196)
>>  at
>> org.exolab.castor.mapping.xml.types.BindXmlNodeType.valueOf (BindXmlNodeType.java:15)
>>  at org.exolab.castor.tools.MappingTool.addClass (MappingTool.java:408)
>>  at org.exolab.castor.tools.MappingTool.addClass (MappingTool.java:222)
>>  at org.exolab.castor.tools.MappingTool.addClass (MappingTool.java:201)
>>  at CastorMapper.createMapping(CastorMapper.java:95)
>>  at CastorMapper.main(CastorMapper.java:124)
>>
>> If it's not going to be possible to generate like this? do you know any
>> other tool that can generate these mapping files for me?
>>
>

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

  http://xircles.codehaus.org/manage_email


©2008 junlu.com - Jax Systems, LLC, U.S.A.