package org.jboss.resteasy.test.providers.jaxb.resource;
import org.jboss.logging.Logger;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@Path("")
public class XmlJavaTypeAdapterResource {
private static Logger logger = Logger.getLogger(XmlJavaTypeAdapterResource.class.getName());
@POST
@Path("foo/foo")
@Consumes("application/xml")
@Produces("application/xml")
public XmlJavaTypeAdapterFoo foo(XmlJavaTypeAdapterFoo foo) {
logger.info("foo: \"" + foo + "\"");
return foo;
}
@POST
@Path("human")
@Produces("text/plain")
public String human(XmlJavaTypeAdapterHuman human) {
logger.info("human: \"" + human.getName() + "\"");
return human.getName();
}
@POST
@Path("alien")
@Produces("text/plain")
public String alien(XmlJavaTypeAdapterAlien alien) {
logger.info("human: \"" + alien.getName() + "\"");
return alien.getName();
}
@POST
@Path("list/alien")
@Consumes("application/xml")
@Produces("application/xml")
public List<XmlJavaTypeAdapterAlien> listAlien(List<XmlJavaTypeAdapterAlien> list) {
logger.info("entering listAlien()");
return list;
}
@POST
@Path("array/alien")
@Consumes("application/xml")
@Produces("application/xml")
public XmlJavaTypeAdapterAlien[] arrayAlien(XmlJavaTypeAdapterAlien[] array) {
logger.info("entering arrayAlien()");
return array;
}
@POST
@Path("map/alien")
@Consumes("application/xml")
@Produces("application/xml")
public Map<String, XmlJavaTypeAdapterAlien> mapAlien(Map<String, XmlJavaTypeAdapterAlien> map) {
logger.info("entering mapAlien()");
return map;
}
@POST
@Path("list/human")
@Consumes("application/xml")
@Produces("text/plain")
public String listHuman(List<XmlJavaTypeAdapterHuman> list) {
String result = "";
for (Iterator<XmlJavaTypeAdapterHuman> it = list.iterator(); it.hasNext(); ) {
String name = it.next().getName();
result += "|" + name;
}
return result;
}
}