package org.jboss.resteasy.test.providers.jaxb.resource;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Request;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Variant;
import java.util.List;
@Path("/")
public class CharacterSetResource {
private final String[] characterSets = {"US-ASCII", "UTF-8", "ISO-8859-1"};
@GET
@Path("variant-selection")
@Produces("application/xml")
public Response getVariantSelection(@Context Request request) {
int i = characterSets.length;
MediaType[] mediaTypes = new MediaType[i];
while (--i >= 0) {
mediaTypes[i] = MediaType.valueOf("application/xml;charset=" + characterSets[i]);
}
List<Variant> variants = Variant.mediaTypes(mediaTypes).build();
Variant variant = request.selectVariant(variants);
if (variant == null) {
return Response.notAcceptable(variants).build();
}
return Response.ok(new CharacterSetData(), variant).build();
}
}