package org.jboss.resteasy.test.resource.param.resource; import javax.ws.rs.Consumes; import javax.ws.rs.DefaultValue; import javax.ws.rs.Encoded; import javax.ws.rs.FormParam; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.core.Response; import java.util.List; import java.util.SortedSet; @Path(value = "/FormParamTest/") public class FormParamBasicResource { @Path(value = "/ParamEntityWithFromString") @POST @Consumes("application/x-www-form-urlencoded") public Response fromString( @Encoded @DefaultValue("FromString") @FormParam("default_argument") FormParamEntityWithFromString defaultArgument) { return Response.ok(response(defaultArgument.getValue())).build(); } public static final String response(String argument) { return new StringBuilder().append("CTS_FORMPARAM:").append(argument) .toString(); } @Path(value = "/string") @POST @Consumes("application/x-www-form-urlencoded") public Response string( @Encoded @DefaultValue("FromString") @FormParam("default_argument") String defaultArgument) { return Response.ok(response(defaultArgument)).build(); } @Path(value = "/SortedSetFromString") @POST @Consumes("application/x-www-form-urlencoded") public Response sortedSetFromString( @Encoded @DefaultValue("SortedSetFromString") @FormParam("default_argument") SortedSet<FormParamEntityWithFromString> defaultArgument) { return Response.ok(response(defaultArgument.first().getValue())) .build(); } @Path(value = "/ListConstructor") @POST @Consumes("application/x-www-form-urlencoded") public Response defaultListConstructor( @DefaultValue("ListConstructor") @FormParam("default_argument") List<FormParamEntityWithConstructor> defaultArgument) { return Response.ok( response(defaultArgument.listIterator().next().getValue())) .build(); } @Path(value = "/IllegalArgumentException") @POST @Consumes("application/x-www-form-urlencoded") public Response throwWebApplicationException( @DefaultValue("SortedSetFromString") @FormParam("default_argument") FormParamEntityThrowsIllegaArgumentException defaultArgument) { return Response.ok().build(); } }