view src/de/mpiwg/dwinter/fulltextSearchServer/ShowResultInfoOfTicket.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.jdom.JDOMException;
import org.restlet.data.Form;
import org.restlet.data.MediaType;
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;

public class ShowResultInfoOfTicket extends ServerResource {
	Logger logger = Logger.getRootLogger();

	//need options for crossdomain scripting
	@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 getHTML( ) throws NumberFormatException, JDOMException, FileNotFoundException, IOException {
		logger.debug("show result of ticker: get HTML");
		
		// 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") ;
		String lang = (String) getRequest().getAttributes().get("lang") ;  
		
		String xml = TicketWriter.getResultInfoXML(ticket, lang);
	

        StringRepresentation representation = new StringRepresentation(xml, 
   	            MediaType.TEXT_XML) ;
        return representation;
	}
}