annotate src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java @ 135:2e8034524259

Added NetworkJournal and SingletonMessageFromAlice class
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sun, 12 Jan 2014 06:18:37 +0900
parents 6104702a1880
children 8233c652065b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
112
8f9811a1e00c Moved app files
one
parents: 106
diff changeset
1 package app.bbs.codesegment;
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
2
118
f64ff5bd66f5 Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents: 112
diff changeset
3 import java.io.FileNotFoundException;
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
4 import java.util.regex.Pattern;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
5 import java.util.regex.Matcher;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
6
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
7 import javax.servlet.Servlet;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
8
125
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardMessageServlet;
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardServlet;
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.EditMessageServlet;
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.ShowBoardMessageServlet;
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.ShowBoardsServlet;
6104702a1880 Added dependency bulletinboard in pom.xml
one
parents: 124
diff changeset
14
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
15 import org.mortbay.jetty.Server;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
16 import org.mortbay.jetty.servlet.ServletHandler;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
17 import org.mortbay.jetty.servlet.ServletHolder;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
18
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
19 import alice.codesegment.CodeSegment;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
20 import alice.datasegment.CommandType;
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
21 import alice.datasegment.Receiver;
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
22 import app.bbs.NetworkBulletinBoard;
112
8f9811a1e00c Moved app files
one
parents: 106
diff changeset
23 import app.bbs.NetworkJungleBulletinBoard;
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
24 import app.bbs.PersistentJungleBulletinBoard;
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
25
106
f42f2e6b31de Removed project reference and Added dependency in pom.xml
one
parents: 105
diff changeset
26
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
27 public class StartBBSCodeSegment extends CodeSegment {
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
28
48
ab8c655ef457 implemented bbsPort setting
one
parents: 47
diff changeset
29 int bbsPort = 8080;
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
30 Receiver host = ids.create(CommandType.PEEK);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
31 private Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$");
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
32 private String[] args;
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
33 boolean persistentFlag = false;
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
34
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
35 public StartBBSCodeSegment(String[] _args, int p) {
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
36 args = _args;
48
ab8c655ef457 implemented bbsPort setting
one
parents: 47
diff changeset
37 bbsPort = p;
ab8c655ef457 implemented bbsPort setting
one
parents: 47
diff changeset
38 host.setKey("host");
ab8c655ef457 implemented bbsPort setting
one
parents: 47
diff changeset
39 }
ab8c655ef457 implemented bbsPort setting
one
parents: 47
diff changeset
40
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
41 public StartBBSCodeSegment() {
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
42 args = null;
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
43 host.setKey("host");
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
44 }
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
45
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
46 public void run() {
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
47 String name = host.asString();
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
48 Matcher matcher = pattern.matcher(name);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
49 matcher.find();
65
ebf42371454b remove warning
one
parents: 59
diff changeset
50 // String type = matcher.group(1);
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
51 for(String arg: args) {
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
52 if(arg.equals("-persistent")){
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
53 persistentFlag = true;
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
54 }
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
55 }
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
56 NetworkBulletinBoard cassaBBS = null;
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
57 if(persistentFlag) {
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
58 System.out.println("log loading...");
135
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 125
diff changeset
59 cassaBBS = NetworkJungleBulletinBoard.NewPersistentJungle(name);
2e8034524259 Added NetworkJournal and SingletonMessageFromAlice class
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 125
diff changeset
60 cassaBBS.init();
124
dacfa7eba841 To select persistent mode "-persistent"
one
parents: 122
diff changeset
61 } else {
118
f64ff5bd66f5 Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents: 112
diff changeset
62 cassaBBS = new NetworkJungleBulletinBoard(name);
f64ff5bd66f5 Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents: 112
diff changeset
63 cassaBBS.init();
f64ff5bd66f5 Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents: 112
diff changeset
64 }
f64ff5bd66f5 Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents: 112
diff changeset
65
122
cef245f71053 Implemented NetworkJungleBulletinBoard.checkAndCreateLogDirectory method
one
parents: 118
diff changeset
66 System.out.println("StartBBSCodeSegment");
cef245f71053 Implemented NetworkJungleBulletinBoard.checkAndCreateLogDirectory method
one
parents: 118
diff changeset
67 System.out.println("name : "+ name);
65
ebf42371454b remove warning
one
parents: 59
diff changeset
68 /* Jetty registration */
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
69 String createBoardMessagePath = "/createBoardMessage";
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
70 String createBoardPath = "/createBoard";
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
71 String editMessagePath = "/editMessage";
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
72 String showBoardMessagePath = "/showBoardMessage";
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
73
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
74 Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
75 Servlet createBoard = new CreateBoardServlet(cassaBBS);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
76 Servlet editBoardMessage = new EditMessageServlet(cassaBBS);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
77 Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
78 Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
79
48
ab8c655ef457 implemented bbsPort setting
one
parents: 47
diff changeset
80 Server serv = new Server(bbsPort);
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
81 ServletHandler context = new ServletHandler();
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
82 context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
83 context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
84 context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
85 context.addServletWithMapping(new ServletHolder(index),"/");
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
86 context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
87 serv.addHandler(context);
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
88 try {
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
89 serv.start();
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
90 } catch (Exception e) {
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
91 e.printStackTrace();
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
92 }
96
fcce7ca4adb9 Modified LogUpdateCodesegment
one
parents: 89
diff changeset
93 new LogUpdateCodeSegment();
44
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
94 }
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
95
9202247e6077 added StartBBSCodeSegment
one
parents:
diff changeset
96 }