When mapping XMLGregorianCalendar to XMLGregorianCalendar mapping exception occurs. Creation of xml gregorian like so (I know about the newXMLGregorianCalendar(in,int,...)):
XMLGregorianCalendar getXMLCalendar(int year, int month, int day){
XMLGregorianCalendar d = DatatypeFactory.newInstance().newXMLGregorianCalendar();
d.setYear(year);
d.setMonth(month);
d.setDay(day);
d.setHour(0);
d.setMinute(0);
d.setSecond(0)
return d
}
org.dozer.MappingException: java.lang.IllegalAccessException: Class org.dozer.util.ReflectionUtils can not access a member of class org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl with modifiers "public"
at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:88)
at org.dozer.util.ReflectionUtils.invoke(ReflectionUtils.java:291)
at org.dozer.propertydescriptor.GetterSetterPropertyDescriptor.invokeReadMethod(GetterSetterPropertyDescriptor.java:243)
at org.dozer.propertydescriptor.GetterSetterPropertyDescriptor.getPropertyValue(GetterSetterPropertyDescriptor.java:76)
at org.dozer.fieldmap.FieldMap.getSrcFieldValue(FieldMap.java:82)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:257)
at org.dozer.MappingProcessor.map(MappingProcessor.java:239)
at org.dozer.MappingProcessor.processSuperTypeMapping(MappingProcessor.java:998)
at org.dozer.MappingProcessor.map(MappingProcessor.java:228)
at org.dozer.MappingProcessor.mapCustomObject(MappingProcessor.java:472)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:427)
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:324)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:270)
at org.dozer.MappingProcessor.map(MappingProcessor.java:239)
at org.dozer.MappingProcessor.mapCustomObject(MappingProcessor.java:472)
at org.dozer.MappingProcessor.mapOrRecurseObject(MappingProcessor.java:427)
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:324)
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:270)
at org.dozer.MappingProcessor.map(MappingProcessor.java:239)
at org.dozer.MappingProcessor.map(MappingProcessor.java:181)
at org.dozer.MappingProcessor.map(MappingProcessor.java:134)
at org.dozer.MappingProcessor.map(MappingProcessor.java:129)
at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:118)
at org.dozer.Mapper$map.call(Unknown Source)
please provide a test case reproducing this issue or at least more details what are the source and target beans
This bug apears when xerces is on the classpath! When using xerces the implementation of XMLGregorian comes from this api org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl
otherwhise it comes from JDKs com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl
When using Xerces the mapping fails when using the JDKs is works. I will included a small maven test project for you to run and you can see the issue.
Very basic Eclipse Maven project that displays the issue
added very basic simple test project that displays the issue
I was just stung by this bug as well. I also have xerces (via WebSphere) on the classpath.
Are there any plans to fix it?
I face the same issue. Is there any solution for this?
Add custom converter to fix this issue.
<custom-converters>
<converter type="com.xxx.XMLGC2XMLGC">
<class-a>javax.xml.datatype.XMLGregorianCalendar</class-a>
<class-b>javax.xml.datatype.XMLGregorianCalendar</class-b>
</converter>
</custom-converters>
XMLGC2XMLGC.java:
public class XMLGC2XMLGC extends
DozerConverter<XMLGregorianCalendar, XMLGregorianCalendar> {
public XMLGC2XMLGC() {
super(XMLGregorianCalendar.class, XMLGregorianCalendar.class);
}
@Override
public XMLGregorianCalendar convertFrom(XMLGregorianCalendar src,
XMLGregorianCalendar dest) {
return src;
}
@Override
public XMLGregorianCalendar convertTo(XMLGregorianCalendar src,
XMLGregorianCalendar dest) {
return dest;
}
}
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
{deleted}
Last edit: Anonymous 2016-10-02