sascha@264: package de.intevation.artifactdatabase.rest;
sascha@264: 
sascha@264: import de.intevation.artifacts.ArtifactDatabase;
sascha@264: 
sascha@264: import org.restlet.Component;
sascha@264: import org.restlet.Server;
sascha@264: 
sascha@264: import org.restlet.ext.jetty.HttpServerHelper;
sascha@264: 
sascha@264: import org.apache.log4j.Logger;
sascha@264: 
sascha@264: public class JettyServer
sascha@264: extends      Standalone
sascha@264: {
sascha@264:     private static Logger logger = Logger.getLogger(JettyServer.class);
sascha@264: 
sascha@264:     @Override
sascha@264:     public void startAsServer(ArtifactDatabase db) {
sascha@264: 
sascha@264:         Component component = new Component();
sascha@264: 
sascha@266:         RestApp app = new RestApp(db);
sascha@264: 
sascha@264:         Server server = createServer();
sascha@264: 
sascha@266:         // TODO: Do more sophisticated Jetty server configuration here.
sascha@266: 
sascha@264:         component.getServers().add(server);
sascha@264: 
sascha@266:         component.getDefaultHost().attach(app);
sascha@266: 
sascha@264:         logServerStart();
sascha@264: 
sascha@264:         HttpServerHelper serverHelper = new HttpServerHelper(server);
sascha@264: 
sascha@264:         try {
sascha@264:             serverHelper.start();
sascha@264:         }
sascha@264:         catch (Exception e) {
sascha@264:             logger.error(e.getLocalizedMessage(), e);
sascha@264:         }
sascha@264:     }
sascha@264: }
sascha@264: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :