Mercurial > hg > Members > nobuyasu > jungle-network
annotate src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java @ 125:6104702a1880
Added dependency bulletinboard in pom.xml
author | one |
---|---|
date | Sat, 11 Jan 2014 08:07:19 +0900 |
parents | dacfa7eba841 |
children | 2e8034524259 |
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..."); | |
59 try { | |
60 cassaBBS = new PersistentJungleBulletinBoard(name); | |
61 cassaBBS.init(); | |
62 } catch (FileNotFoundException e1) { | |
63 e1.printStackTrace(); | |
64 } | |
65 } else { | |
118
f64ff5bd66f5
Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents:
112
diff
changeset
|
66 cassaBBS = new NetworkJungleBulletinBoard(name); |
f64ff5bd66f5
Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents:
112
diff
changeset
|
67 cassaBBS.init(); |
f64ff5bd66f5
Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents:
112
diff
changeset
|
68 } |
f64ff5bd66f5
Implements persistent for bbs app and Fixed bug JungleUpdater
one
parents:
112
diff
changeset
|
69 |
122
cef245f71053
Implemented NetworkJungleBulletinBoard.checkAndCreateLogDirectory method
one
parents:
118
diff
changeset
|
70 System.out.println("StartBBSCodeSegment"); |
cef245f71053
Implemented NetworkJungleBulletinBoard.checkAndCreateLogDirectory method
one
parents:
118
diff
changeset
|
71 System.out.println("name : "+ name); |
65 | 72 /* Jetty registration */ |
44 | 73 String createBoardMessagePath = "/createBoardMessage"; |
74 String createBoardPath = "/createBoard"; | |
75 String editMessagePath = "/editMessage"; | |
76 String showBoardMessagePath = "/showBoardMessage"; | |
77 | |
78 Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS); | |
79 Servlet createBoard = new CreateBoardServlet(cassaBBS); | |
80 Servlet editBoardMessage = new EditMessageServlet(cassaBBS); | |
81 Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath); | |
82 Servlet board = new ShowBoardMessageServlet(cassaBBS,createBoardMessagePath,editMessagePath); | |
83 | |
48 | 84 Server serv = new Server(bbsPort); |
44 | 85 ServletHandler context = new ServletHandler(); |
86 context.addServletWithMapping(new ServletHolder(createBoardMessage),createBoardMessagePath); | |
87 context.addServletWithMapping(new ServletHolder(createBoard),createBoardPath); | |
88 context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath); | |
89 context.addServletWithMapping(new ServletHolder(index),"/"); | |
90 context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath); | |
91 serv.addHandler(context); | |
92 try { | |
93 serv.start(); | |
94 } catch (Exception e) { | |
95 e.printStackTrace(); | |
96 } | |
96 | 97 new LogUpdateCodeSegment(); |
44 | 98 } |
99 | |
100 } |