package com.fasterxml.jackson.dataformat.xml.failing;
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import com.fasterxml.jackson.dataformat.xml.XmlTestBase;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
public class TestConflictingGetters extends XmlTestBase
{
@JacksonXmlRootElement(localName = "output")
static class Bean {
public BeanInfo[] beanInfo;
public BeanInfo[] beanOther;
@JacksonXmlElementWrapper(localName = "beanInfo")
@JacksonXmlProperty(localName = "item")
public BeanInfo[] getBeanInfo() {
return beanInfo;
}
public void setBeanInfo(BeanInfo[] beanInfo) {
this.beanInfo = beanInfo;
}
@JacksonXmlElementWrapper(localName = "beanOther")
@JacksonXmlProperty(localName = "item")
public BeanInfo[] getBeanOther() {
return beanOther;
}
public void setBeanOther(BeanInfo[] beanOther) {
this.beanOther = beanOther;
}
}
static class BeanInfo {
public String name;
public BeanInfo() { }
public BeanInfo(String n) { name = n; }
}
/*
/**********************************************************************
/* Unit tests
/**********************************************************************
*/
public void testIssue27() throws Exception
{
XmlMapper mapper = new XmlMapper();
Bean bean = new Bean();
BeanInfo beanInfo = new BeanInfo("name");
BeanInfo beanOther = new BeanInfo("name");
bean.setBeanInfo(new BeanInfo[] { beanInfo });
bean.setBeanOther(new BeanInfo[] { beanOther });
String json = mapper.writeValueAsString(bean);
assertNotNull(json);
// System.out.println(output);
}
}