package org.jboss.resteasy.wadl; import org.jboss.resteasy.wadl.jaxb.*; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.core.MediaType; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.namespace.QName; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import java.lang.reflect.Type; import java.util.List; import java.util.Map; import static org.jboss.resteasy.wadl.ResteasyWadlMethodParamMetaData.MethodParamType.*; /** * @author <a href="mailto:l.weinan@gmail.com">Weinan Li</a> */ public class ResteasyWadlServletWriter extends ResteasyWadlWriter { public void writeWadl(String base, HttpServletResponse resp, Map<String, ResteasyWadlServiceRegistry> serviceRegistries) throws IOException { try { ServletOutputStream output = resp.getOutputStream(); byte[] bytes = getBytes(base, serviceRegistries); resp.setContentLength(bytes.length); output.write(bytes); output.flush(); output.close(); } catch (JAXBException e) { throw new IOException(e); } } public void writeWadl(String base, HttpServletRequest req, HttpServletResponse resp, Map<String, ResteasyWadlServiceRegistry> serviceRegistries) throws IOException { writeWadl(base, resp, serviceRegistries); } }