view src/de/mpiwg/dwinter/fulltextSearchServer/RestServer.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 org.restlet.Application;
import org.restlet.Context;
import org.restlet.Restlet;
import org.restlet.routing.Router;
import org.restlet.routing.Template;
import org.restlet.routing.TemplateRoute;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;


/**
 * @author dwinter
 *
 * Hauptklasse fuer den RestServer, setzt die entsprechenden Routes auf die Klassen fuer das 
 * Restinterface.
 * 
 */
public class RestServer extends Application{

	public RestServer(Context parentContext){
		super(parentContext);
		
		Logger rl = Logger.getRootLogger();
		BasicConfigurator.configure();
		rl.setLevel(Level.DEBUG);
		
		
	}
	
	public synchronized Restlet createInboundRoot(){
		Router router = new Router(getContext());
		
		router.attach("/", Overview.class);
		router.attach("/serverInfo/{param}", SearchServerInfo.class);
		router.attach("/linesInDocument/{textId}/{lang}/{queryString}", SearchLines.class);
		router.attach("/tickets", SearchTicket.class);
		router.attach("/tickets/{ticket}", ShowTicket.class);
		router.attach("/tickets/{ticket}/{lang}", ShowResultOfTicket.class);
		router.attach("/tickets/{ticket}/{lang}/resultInfo", ShowResultInfoOfTicket.class);
		TemplateRoute route = router.attach("/tickets/{ticket}/{lang}/{textId}", ShowContentOfDocument.class);
		route.setMatchingMode(Template.MODE_STARTS_WITH);
		
		
		return router;
	}
}