package org.jboss.resteasy.test.providers.jaxb.resource; import org.jboss.resteasy.test.providers.jaxb.JaxbMarshallingSoakTest; import org.junit.Assert; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import java.io.ByteArrayInputStream; @Path("/mpac") public class JaxbMarshallingSoakAsyncService { @GET() @Produces("text/plain") public String sayHello() { return "Hello World!"; } public void addSchedule(JaxbMarshallingSoakItem item) { try { Assert.assertNotNull(item); item.toString(); JaxbMarshallingSoakTest.counter.incrementAndGet(); } finally { JaxbMarshallingSoakTest.latch.countDown(); } } @POST() @Path("/add") @Consumes("application/xml") public void addSchedule(byte[] bytes) throws Exception { ByteArrayInputStream bais = new ByteArrayInputStream(bytes); JaxbMarshallingSoakItem item = (JaxbMarshallingSoakItem) JaxbMarshallingSoakTest.ctx.createUnmarshaller().unmarshal(bais); try { addSchedule(item); } catch (Exception ex) { String str = new String(bytes); String msg = "Failed "; if (!str.equals(JaxbMarshallingSoakTest.itemString)) { msg += " with " + str; } throw new Exception(msg); } } }