Mercurial > hg > Members > nobuyasu > jungle-network
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 |
rev | line source |
---|---|
112 | 1 package app.bbs.codesegment; |
44 | 2 |
118
f64ff5bd66f5
Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents:
112
diff
changeset
|
3 import java.io.FileNotFoundException; |
44 | 4 import java.util.regex.Pattern; |
5 import java.util.regex.Matcher; | |
6 | |
7 import javax.servlet.Servlet; | |
8 | |
125 | 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardMessageServlet; |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.CreateBoardServlet; | |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.EditMessageServlet; | |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.ShowBoardMessageServlet; | |
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.ShowBoardsServlet; | |
14 | |
44 | 15 import org.mortbay.jetty.Server; |
16 import org.mortbay.jetty.servlet.ServletHandler; | |
17 import org.mortbay.jetty.servlet.ServletHolder; | |
18 | |
19 import alice.codesegment.CodeSegment; | |
20 import alice.datasegment.CommandType; | |
21 import alice.datasegment.Receiver; | |
124 | 22 import app.bbs.NetworkBulletinBoard; |
112 | 23 import app.bbs.NetworkJungleBulletinBoard; |
124 | 24 import app.bbs.PersistentJungleBulletinBoard; |
44 | 25 |
106
f42f2e6b31de
Removed project reference and Added dependency in pom.xml
one
parents:
105
diff
changeset
|
26 |
44 | 27 public class StartBBSCodeSegment extends CodeSegment { |
28 | |
48 | 29 int bbsPort = 8080; |
44 | 30 Receiver host = ids.create(CommandType.PEEK); |
31 private Pattern pattern = Pattern.compile("^(node|cli)([0-9]+)$"); | |
124 | 32 private String[] args; |
33 boolean persistentFlag = false; | |
44 | 34 |
124 | 35 public StartBBSCodeSegment(String[] _args, int p) { |
36 args = _args; | |
48 | 37 bbsPort = p; |
38 host.setKey("host"); | |
39 } | |
40 | |
44 | 41 public StartBBSCodeSegment() { |
124 | 42 args = null; |
44 | 43 host.setKey("host"); |
44 } | |
45 | |
46 public void run() { | |
47 String name = host.asString(); | |
48 Matcher matcher = pattern.matcher(name); | |
49 matcher.find(); | |
65 | 50 // String type = matcher.group(1); |
124 | 51 for(String arg: args) { |
52 if(arg.equals("-persistent")){ | |
53 persistentFlag = true; | |
54 } | |
55 } | |
56 NetworkBulletinBoard cassaBBS = null; | |
57 if(persistentFlag) { | |
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 | 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 | 68 /* Jetty registration */ |
44 | 69 String createBoardMessagePath = "/createBoardMessage"; |
70 String createBoardPath = "/createBoard"; | |
71 String editMessagePath = "/editMessage"; | |
72 String showBoardMessagePath = "/showBoardMessage"; | |
73 | |
74 Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS); | |
75 Servlet createBoard = new CreateBoardServlet(cassaBBS); | |
76 Servlet editBoardMessage = new EditMessageServlet(cassaBBS); | |
77 Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath); | |
78 Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath); | |
79 | |
48 | 80 Server serv = new Server(bbsPort); |
44 | 81 ServletHandler context = new ServletHandler(); |
82 context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath); | |
83 context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath); | |
84 context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath); | |
85 context.addServletWithMapping(new ServletHolder(index),"/"); | |
86 context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath); | |
87 serv.addHandler(context); | |
88 try { | |
89 serv.start(); | |
90 } catch (Exception e) { | |
91 e.printStackTrace(); | |
92 } | |
96 | 93 new LogUpdateCodeSegment(); |
44 | 94 } |
95 | |
96 } |