view src/jungle/test/bbs/DistributeApp.java @ 40:7e94de2d6bc0

add PutAnotherLogCodeSegment, PutHostLogCodeSegment
author one
date Tue, 09 Jul 2013 17:32:06 +0900
parents 10359a815068
children 4419ac56cbfd
line wrap: on
line source

package jungle.test.bbs;

import javax.servlet.Servlet;

import jungle.test.bbs.codesegment.PutAnotherLogCodeSegment;
import jungle.test.bbs.codesegment.PutHostLogCodeSegment;

import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.ServletHandler;
import org.mortbay.jetty.servlet.ServletHolder;

import alice.daemon.AliceDaemon;
import alice.datasegment.DataSegment;
import alice.jungle.codesegment.LogUpdateCodeSegment;
import alice.jungle.remote.RemoteConfig;

/**
 * Hello world!
 *
 */
public class DistributeApp 
{
    public static void main( String[] args ) throws Exception
    {
    	BulletinBoard cassaBBS = null;
   		cassaBBS = new NetworkJungleBulletinBoard();
   		RemoteConfig conf = new RemoteConfig(args);
   		if(conf.hostname == null) {
   			/* Host Side */
   			new AliceDaemon(conf).listen();
   			PutHostLogCodeSegment cs = new PutHostLogCodeSegment();
   			cs.arg1.setKey("local","log");
   		} else {
   			/* Client Side */
   			DataSegment.connect(conf.key, "", conf.hostname, conf.connectPort);
   			LogUpdateCodeSegment cs = new LogUpdateCodeSegment();
   			cs.arg1.setKey("remote", "hostLog");
   			PutAnotherLogCodeSegment cs2 = new PutAnotherLogCodeSegment();
   			cs2.arg1.setKey("local", "log");
   		}
		

    	String createBoardMessagePath = "/createBoardMessage";
    	String createBoardPath = "/createBoard";
    	String editMessagePath = "/editMessage";
    	String showBoardMessagePath = "/showBoardMessage";
    	
    	Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS);
    	Servlet createBoard = new CreateBoardServlet(cassaBBS);
    	Servlet editBoardMessage = new EditMessageServlet(cassaBBS);
    	Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath);
    	Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath);
    	
    	Server serv = new Server(8080);
    	ServletHandler context = new ServletHandler();
    	context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath);
    	context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath);
    	context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath);
    	context.addServletWithMapping(new ServletHolder(index),"/");
    	context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath);
    	serv.addHandler(context);
    	serv.start();
    }
}