Mercurial > hg > fulltextSearchServer
view src/de/mpiwg/dwinter/fulltextSearchServer/ShowTicket.java @ 0:db87c1b7eb6d
initial
author | dwinter |
---|---|
date | Wed, 03 Nov 2010 12:18:46 +0100 |
parents | |
children |
line wrap: on
line source
package de.mpiwg.dwinter.fulltextSearchServer; import java.io.FileNotFoundException; import java.io.IOException; import org.apache.log4j.Logger; import org.restlet.data.Form; import org.restlet.data.MediaType; import org.restlet.data.Parameter; import org.restlet.data.Status; import org.restlet.representation.Representation; import org.restlet.representation.StringRepresentation; import org.restlet.resource.Get; import org.restlet.resource.Options; import org.restlet.resource.ServerResource; import de.mpiwg.dwinter.fulltext.ticket.TicketWriter; import de.mpiwg.dwinter.fulltextSearchServer.Utils.XMLTools; /** * Zeigt das entsprechende Ticket an. * @author dwinter * */ public class ShowTicket extends ServerResource{ Logger logger = Logger.getRootLogger(); @Options public void doOptions(Representation entity) { Form responseHeaders = (Form) getResponse().getAttributes().get("org.restlet.http.headers"); if (responseHeaders == null) { responseHeaders = new Form(); getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders); } responseHeaders.add("Access-Control-Allow-Origin", "*"); responseHeaders.add("Access-Control-Allow-Methods", "POST,OPTIONS,GET"); responseHeaders.add("Access-Control-Allow-Headers", "Content-Type"); responseHeaders.add("Access-Control-Allow-Credentials", "false"); responseHeaders.add("Access-Control-Max-Age", "60"); } //@Get("xml") public Representation getXML( ) { logger.debug("showticket"); // response header fuer cross-site.scripting Form responseHeaders = (Form) getResponse().getAttributes().get("org.restlet.http.headers"); if (responseHeaders == null) { responseHeaders = new Form(); getResponse().getAttributes().put("org.restlet.http.headers", responseHeaders); } responseHeaders.add("Access-Control-Allow-Origin", "*"); String ticket = (String) getRequest().getAttributes().get("ticket") ; StringRepresentation representation = null; String xml; try { xml = TicketWriter.getXML(ticket); } catch (FileNotFoundException e) { e.printStackTrace(); logger.debug("show result of ticker: file not found xml"); setStatus(Status.SERVER_ERROR_INTERNAL) ; return null; } catch (IOException e) { logger.debug("show result of ticker: IO error xml"); e.printStackTrace(); setStatus(Status.SERVER_ERROR_INTERNAL) ; return null; } representation = new StringRepresentation(xml, MediaType.TEXT_XML) ; if (xml != null) { if (TicketWriter.isClosed(ticket)) setStatus(Status.SUCCESS_CREATED); else setStatus(Status.SUCCESS_ACCEPTED); return representation; } else { setStatus(Status.SUCCESS_ACCEPTED) ; return new StringRepresentation("<info>waiting</info>", MediaType.TEXT_XML) ; } } @Get("html") public Representation getHtml() throws IOException{ Representation repr = getXML(); if (repr==null) return null; String xml=repr.getText(); logger.debug("getHTML:"+xml); String txt = XMLTools.transformToHTML(xml,"/de/mpiwg/dwinter/fulltextSearchServer/xsl/showTicketToHTML.xsl"); if (txt.equals("")){ return new StringRepresentation("<html><body>waiting</body></html>", MediaType.TEXT_HTML) ; } return new StringRepresentation(txt, MediaType.TEXT_HTML) ; } }