# HG changeset patch
# User tatsuki
# Date 1406524194 -32400
# Node ID b3d5fbe95b9a5b263f9ff8703b5e11ff6363b074
# Parent cef31516e2e573ed5be9fa0d69941302c374c6cf
Create Folder Method
diff -r cef31516e2e5 -r b3d5fbe95b9a src/main/java/app/bbs/NetworkBulletinBoard.java
--- a/src/main/java/app/bbs/NetworkBulletinBoard.java Tue Jul 15 18:07:36 2014 +0900
+++ b/src/main/java/app/bbs/NetworkBulletinBoard.java Mon Jul 28 14:09:54 2014 +0900
@@ -1,5 +1,6 @@
package app.bbs;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.BoardMessage;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.BulletinBoard;
@@ -7,5 +8,7 @@
public void init();
public int getRequestNum();
public long getRenewTime(String boardName);
-
+ public Iterable getFolder(String _boardName, String nodeNum);
+ public void createFolder(String boardName, String author, String msg,String key, String _nodeNum);
+ public void createAttribute(String boardName, String uuid, String author, String msg, String key);
}
diff -r cef31516e2e5 -r b3d5fbe95b9a src/main/java/app/bbs/NetworkJungleBulletinBoard.java
--- a/src/main/java/app/bbs/NetworkJungleBulletinBoard.java Tue Jul 15 18:07:36 2014 +0900
+++ b/src/main/java/app/bbs/NetworkJungleBulletinBoard.java Mon Jul 28 14:09:54 2014 +0900
@@ -20,49 +20,51 @@
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListReader;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TraversableNodeWrapper;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultEvaluator;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.Traversal;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter;
+import junit.framework.Assert;
-public class NetworkJungleBulletinBoard implements NetworkBulletinBoard
-{
+public class NetworkJungleBulletinBoard implements NetworkBulletinBoard {
private final Jungle jungle;
private final NetworkJournal journal;
private final String LOG_DIR;
private Boolean persistentFlag;
- private AtomicInteger requestCounter;
+ private AtomicInteger requestCounter;
private long renewTime;
-
- private NetworkJungleBulletinBoard(String _uuid, NetworkJournal _journal)
- {
+
+ private NetworkJungleBulletinBoard(String _uuid, NetworkJournal _journal) {
journal = _journal;
- jungle = new NetworkDefaultJungle(journal, _uuid,new DefaultTreeEditor(new DefaultTraverser()));
+ jungle = new NetworkDefaultJungle(journal, _uuid,
+ new DefaultTreeEditor(new DefaultTraverser()));
BulletinBoardJungleManager.setJungle(jungle);
persistentFlag = false;
requestCounter = BulletinBoardJungleManager.getRequestCounter();
LOG_DIR = "./log";
renewTime = 0;
}
-
- public NetworkJungleBulletinBoard(String _uuid)
- {
+
+ public NetworkJungleBulletinBoard(String _uuid) {
this(_uuid, new AliceJournal());
jungle.createNewTree("boards");
}
-
- public static NetworkBulletinBoard NewPersistentJungle(String _uuid)
- {
- NetworkJungleBulletinBoard board = new NetworkJungleBulletinBoard(_uuid, new PersistentJournal());
+
+ public static NetworkBulletinBoard NewPersistentJungle(String _uuid) {
+ NetworkJungleBulletinBoard board = new NetworkJungleBulletinBoard(
+ _uuid, new PersistentJournal());
board.persistentFlag = true;
return board;
}
-
+
public void init() {
- if(!persistentFlag) {
+ if (!persistentFlag) {
return;
}
checkAndCreateLogDirectory();
@@ -72,10 +74,10 @@
e.printStackTrace();
}
}
-
+
public void checkAndCreateLogDirectory() {
File logFile = new File(LOG_DIR);
- if(!logFile.exists()) {
+ if (!logFile.exists()) {
logFile.mkdir();
return;
}
@@ -84,14 +86,14 @@
logFile.mkdir();
}
}
-
+
public void commitLogRecover() throws IOException {
- File[] logFiles = new File(LOG_DIR).listFiles();
- for(File logFile : logFiles) {
+ File[] logFiles = new File(LOG_DIR).listFiles();
+ for (File logFile : logFiles) {
commitLogRecover(logFile);
logFile.delete();
}
- if(jungle.getTreeByName("boards") == null) {
+ if (jungle.getTreeByName("boards") == null) {
jungle.createNewTree("boards");
}
}
@@ -99,153 +101,224 @@
private void commitLogRecover(File logFile) throws IOException {
journal.setInputFile(logFile);
ChangeListReader reader = journal.getReader();
- if (reader == null) return;
+ if (reader == null)
+ return;
for (ChangeList chList : reader) {
String treeName = chList.getTreeName();
JungleTree tree = jungle.getTreeByName(treeName);
- if(tree == null) {
+ if (tree == null) {
tree = jungle.createNewTree(treeName);
}
JungleTreeEditor editor = tree.getLocalTreeEditor();
- Either either = JungleUpdater.edit(editor, chList);
+ Either either = JungleUpdater.edit(editor,
+ chList);
editor = either.b();
- if(either.isA()) {
+ if (either.isA()) {
throw new IOException("Failed commit log recovery");
}
editor.success();
}
}
- public Iterable getBoards()
- {
+ public Iterable getBoards() {
JungleTree tree = jungle.getTreeByName("boards");
Node node = tree.getRootNode();
Children chs = node.getChildren();
-
- IterableConverter.Converter converter = new IterableConverter.Converter(){
+
+ IterableConverter.Converter converter = new IterableConverter.Converter() {
public String conv(Node _b) {
ByteBuffer e = _b.getAttributes().get("name");
return new String(e.array());
}
};
-
- return new IterableConverter(chs,converter);
+
+ return new IterableConverter(chs, converter);
}
-
+
public long getRenewTime(String _boardName) {
return renewTime;
}
-
- public void createBoards(final String _name,final String _author,final String _initMessage,final String _editKey)
- {
+ public void createBoards(final String _name, final String _author,
+ final String _initMessage, final String _editKey) {
requestCounter.incrementAndGet();
- if(null == jungle.createNewTree(_name)){
+ if (null == jungle.createNewTree(_name)) {
throw new IllegalStateException();
}
-
+
JungleTree tree = jungle.getTreeByName("boards");
JungleTreeEditor editor = tree.getTreeEditor();
DefaultNodePath root = new DefaultNodePath();
- Either either = editor.addNewChildAt(root,0);
- if(either.isA()){
+ Either either = editor.addNewChildAt(root, 0);
+ if (either.isA()) {
throw new IllegalStateException();
}
editor = either.b();
-
- either = editor.putAttribute(root.add(0),"name",ByteBuffer.wrap(_name.getBytes()));
- if(either.isA()){
+
+ either = editor.putAttribute(root.add(0), "name",
+ ByteBuffer.wrap(_name.getBytes()));
+ if (either.isA()) {
throw new IllegalStateException();
}
editor = either.b();
final long timestamp = System.currentTimeMillis();
ByteBuffer tBuffer = ByteBuffer.allocate(16);
tBuffer.putLong(timestamp);
- either = editor.putAttribute(root.add(0),"timestamp", tBuffer);
- if(either.isA()){
+ either = editor.putAttribute(root.add(0), "timestamp", tBuffer);
+ if (either.isA()) {
throw new IllegalStateException();
}
either = either.b().success();
- if(either.isA()){
+ if (either.isA()) {
throw new IllegalStateException();
}
-
-
+
tree = jungle.getTreeByName(_name);
editor = tree.getTreeEditor();
- either = editor.addNewChildAt(root,0);
- if(either.isA()){
+ either = editor.addNewChildAt(root, 0);
+ if (either.isA()) {
throw new IllegalStateException();
}
editor = either.b();
-
- NodeEditor e = new NodeEditor(){
- public > Either edit(T _e){
- _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b();
- _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_initMessage.getBytes())).b();
- _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b();
+
+ NodeEditor e = new NodeEditor() {
+ public > Either edit(T _e) {
+ _e = _e.getAttributes()
+ .put("author", ByteBuffer.wrap(_author.getBytes())).b();
+ _e = _e.getAttributes()
+ .put("mes", ByteBuffer.wrap(_initMessage.getBytes()))
+ .b();
+ _e = _e.getAttributes()
+ .put("key", ByteBuffer.wrap(_editKey.getBytes())).b();
ByteBuffer tBuffer2 = ByteBuffer.allocate(16);
tBuffer2.putLong(timestamp);
- _e = _e.getAttributes().put("timestamp",tBuffer2).b();
+ _e = _e.getAttributes().put("timestamp", tBuffer2).b();
return DefaultEither.newB(_e);
}
};
-
- either = editor.edit(root.add(0),e);
- if(either.isA()){
+
+ either = editor.edit(root.add(0), e);
+ if (either.isA()) {
throw new IllegalStateException();
}
either.b().success();
}
- public void createBoardMessage(final String _board,final String _author,final String _message,final String _editKey)
- {
- requestCounter.incrementAndGet();
+ public void createFolder(final String _board, final String _author,
+ final String _message, final String _editKey, String _nodeNum) {
JungleTree tree = jungle.getTreeByName(_board);
- if(tree == null){
+ if (tree == null) {
throw new IllegalStateException();
}
-
+ // //---------------------------------------------------------------------------------
+ DefaultNodePath path = new DefaultNodePath();
+ try {
+ for (int count = 0; _nodeNum.substring(count, count + 1) != null; count++) {
+ if (!_nodeNum.substring(count, count + 1).equals("/"))
+ path = path.add(Integer.parseInt(_nodeNum.substring(count,count + 1)));
+ }
+ } catch (Exception _e) {
+ }
+ requestCounter.incrementAndGet();
Either either;
final long timestamp = System.currentTimeMillis();
final ByteBuffer tBuffer = ByteBuffer.allocate(16);
tBuffer.putLong(timestamp);
- do{
+ do {
Node node = tree.getRootNode();
- int size = node.getChildren().size();
- DefaultNodePath path = new DefaultNodePath();
-
+
+
+ DefaultTraverser traverser = new DefaultTraverser();
+ TraversableNodeWrapper traversable = new TraversableNodeWrapper(node);
+ DefaultEvaluator evaluator = new DefaultEvaluator(path);
+ Either>> ret = traverser.traverse(traversable, evaluator);
+ if (ret.isA()) {
+ Assert.fail();
+ }
+
+ Traversal> traversal = ret.b();
+ TraversableNodeWrapper target = traversal.destination();
+ int size = target.getWrapped().getChildren().size() ;
JungleTreeEditor editor = tree.getTreeEditor();
- either = editor.addNewChildAt(path,size);
- if(either.isA()){
+ either = editor.addNewChildAt(path, size);
+ if (either.isA()) {
throw new IllegalStateException();
}
editor = either.b();
- NodeEditor e = new NodeEditor(){
- public > Either edit(T _e){
- _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b();
- _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b();
- _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b();
- _e = _e.getAttributes().put("timestamp",tBuffer).b();
+ NodeEditor e = new NodeEditor() {
+ public > Either edit(T _e) {
+ _e = _e.getAttributes().put("author", ByteBuffer.wrap(_author.getBytes())).b();
+ _e = _e.getAttributes().put("mes", ByteBuffer.wrap(_message.getBytes())).b();
+ _e = _e.getAttributes().put("key", ByteBuffer.wrap(_editKey.getBytes())).b();
+ _e = _e.getAttributes().put("timestamp", tBuffer).b();
return DefaultEither.newB(_e);
}
};
path = path.add(size);
- either = editor.edit(path,e);
- if(either.isA()){
+ either = editor.edit(path, e);
+ if (either.isA()) {
throw new IllegalStateException();
}
editor = either.b();
either = editor.success();
- }while(either.isA());
+ } while (either.isA());
-
}
- public void editMessage(String _board,String _uuid,final String _author,final String _message,final String _editKey)
- {
+ public void createBoardMessage(final String _board, final String _author,
+ final String _message, final String _editKey) {
+ requestCounter.incrementAndGet();
+ JungleTree tree = jungle.getTreeByName(_board);
+ if (tree == null) {
+ throw new IllegalStateException();
+ }
+
+ Either either;
+ final long timestamp = System.currentTimeMillis();
+ final ByteBuffer tBuffer = ByteBuffer.allocate(16);
+ tBuffer.putLong(timestamp);
+ do {
+ Node node = tree.getRootNode();
+ int size = node.getChildren().size();
+ DefaultNodePath path = new DefaultNodePath();
+
+ JungleTreeEditor editor = tree.getTreeEditor();
+ either = editor.addNewChildAt(path, size);
+ if (either.isA()) {
+ throw new IllegalStateException();
+ }
+ editor = either.b();
+
+ NodeEditor e = new NodeEditor() {
+ public > Either edit(T _e) {
+ _e = _e.getAttributes()
+ .put("author", ByteBuffer.wrap(_author.getBytes()))
+ .b();
+ _e = _e.getAttributes()
+ .put("mes", ByteBuffer.wrap(_message.getBytes()))
+ .b();
+ _e = _e.getAttributes()
+ .put("key", ByteBuffer.wrap(_editKey.getBytes()))
+ .b();
+ _e = _e.getAttributes().put("timestamp", tBuffer).b();
+ return DefaultEither.newB(_e);
+ }
+ };
+ path = path.add(size);
+ either = editor.edit(path, e);
+ if (either.isA()) {
+ throw new IllegalStateException();
+ }
+ editor = either.b();
+ either = editor.success();
+ } while (either.isA());
+
+ }
+
+ public void editMessage(String _board, String _uuid, final String _author,
+ final String _message, final String _editKey) {
requestCounter.incrementAndGet();
final long timestamp = System.currentTimeMillis();
final ByteBuffer tBuffer = ByteBuffer.allocate(16);
@@ -257,74 +330,195 @@
path = path.add(Integer.parseInt(_uuid));
JungleTreeEditor editor = tree.getTreeEditor();
- NodeEditor e = new NodeEditor(){
- public > Either edit(T _e){
- _e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b();
- _e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b();
- _e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b();
- _e = _e.getAttributes().put("timestamp",tBuffer).b();
- return DefaultEither.newB(_e);
+ NodeEditor e = new NodeEditor() {
+ public > Either edit(T _e) {
+ _e = _e.getAttributes().put("author", ByteBuffer.wrap(_author.getBytes())).b();
+ _e = _e.getAttributes().put("mes", ByteBuffer.wrap(_message.getBytes())).b();
+ _e = _e.getAttributes().put("key", ByteBuffer.wrap(_editKey.getBytes())).b();
+ _e = _e.getAttributes().put("timestamp", tBuffer).b();
+ return DefaultEither.newB(_e);
}
};
- either = editor.edit(path,e);
- if(either.isA()){
+ either = editor.edit(path, e);
+ if (either.isA()) {
throw new IllegalStateException();
}
editor = either.b();
either = editor.success();
- }while(either.isA());
+ } while (either.isA());
+ renewTime = timestamp;
+ }
+
+ public void createAttribute(String _board, String _uuid, final String _author,
+ final String _message, final String _editKey) {
+ requestCounter.incrementAndGet();
+ final long timestamp = System.currentTimeMillis();
+ final ByteBuffer tBuffer = ByteBuffer.allocate(16);
+ tBuffer.putLong(timestamp);
+ JungleTree tree = jungle.getTreeByName(_board);
+ Either either = null;
+ DefaultNodePath path = new DefaultNodePath();
+ do {
+ try {
+ for (int count = 0; _uuid.substring(count, count + 1) != null; count++) {
+ if (!_uuid.substring(count, count + 1).equals("/"))
+ path = path.add(Integer.parseInt(_uuid.substring(count,count + 1)));
+ }
+ } catch (Exception _e) {
+ }
+ Node node = tree.getRootNode();
+
+
+ DefaultTraverser traverser = new DefaultTraverser();
+ TraversableNodeWrapper traversable = new TraversableNodeWrapper(node);
+ DefaultEvaluator evaluator = new DefaultEvaluator(path);
+ Either>> ret = traverser.traverse(traversable, evaluator);
+ if (ret.isA()) {
+ Assert.fail();
+ }
+
+ Traversal> traversal = ret.b();
+ TraversableNodeWrapper target = traversal.destination();
+ final Node cheakNode = target.getWrapped();
+ System.out.println(cheakNode.getAttributes().get("attribute"));
+
+
+ JungleTreeEditor editor = tree.getTreeEditor();
+ NodeEditor e = new NodeEditor() {
+ public > Either edit(T _e) {
+ // EnableNodeWrapper node = _e.getWrap();
+ _e = _e.getAttributes().put("author" , ByteBuffer.wrap(_author.getBytes())).b();
+ _e = _e.getAttributes().put("mes" , ByteBuffer.wrap(_message.getBytes())).b();
+ _e = _e.getAttributes().put("key" , ByteBuffer.wrap(_editKey.getBytes())).b();
+ _e = _e.getAttributes().put("timestamp", tBuffer).b();
+
+ return DefaultEither.newB(_e);
+ }
+ };
+ either = editor.edit(path, e);
+ if (either.isA()) {
+ throw new IllegalStateException();
+ }
+ editor = either.b();
+ either = editor.success();
+ } while (either.isA());
+ }
+
+ public void editMatrixMessage(String _board, String _uuid, final String _author,
+ final String _message, final String _editKey) {
+ requestCounter.incrementAndGet();
+ final long timestamp = System.currentTimeMillis();
+ final ByteBuffer tBuffer = ByteBuffer.allocate(16);
+ tBuffer.putLong(timestamp);
+ JungleTree tree = jungle.getTreeByName(_board);
+ Either either = null;
+ do {
+ DefaultNodePath path = new DefaultNodePath();
+ path = path.add(Integer.parseInt(_uuid));
+
+ JungleTreeEditor editor = tree.getTreeEditor();
+ NodeEditor e = new NodeEditor() {
+ public > Either edit(T _e) {
+ _e = _e.getAttributes().put("author", ByteBuffer.wrap(_author.getBytes())).b();
+ _e = _e.getAttributes().put("mes", ByteBuffer.wrap(_message.getBytes())).b();
+ _e = _e.getAttributes().put("key", ByteBuffer.wrap(_editKey.getBytes())).b();
+ _e = _e.getAttributes().put("timestamp", tBuffer).b();
+ return DefaultEither.newB(_e);
+ }
+ };
+ either = editor.edit(path, e);
+ if (either.isA()) {
+ throw new IllegalStateException();
+ }
+ editor = either.b();
+ either = editor.success();
+ } while (either.isA());
renewTime = timestamp;
}
- public Iterable getMessages(String _boardName)
- {
+ public Iterable getMessages(String _boardName) {
requestCounter.incrementAndGet();
JungleTree tree = jungle.getTreeByName(_boardName);
Node node = tree.getRootNode();
Children chs = node.getChildren();
final AtomicInteger counter = new AtomicInteger(0);
- IterableConverter.Converter converter = new IterableConverter.Converter(){
+ IterableConverter.Converter converter = new IterableConverter.Converter() {
+ public BoardMessage conv(Node _b) {
+ String uuid = Integer.toString(counter.get());
+ String author = new String(_b.getAttributes().get("author")
+ .array());
+ String message = new String(_b.getAttributes().get("mes")
+ .array());
+ counter.incrementAndGet();
+ return new BoardMessageImpl(author, message, uuid);
+ }
+ };
+ return new IterableConverter(chs, converter);
+ }
+
+ public Iterable getFolder(String _boardName, String _nodeNum) {
+
+ DefaultNodePath path = new DefaultNodePath();
+ try {
+ for (int count = 0; _nodeNum.substring(count, count + 1) != null; count++) {
+ if (!_nodeNum.substring(count, count + 1).equals("/"))
+ path = path.add(Integer.parseInt(_nodeNum.substring(count,count + 1)));
+ }
+ } catch (Exception _e) {
+ }
+ requestCounter.incrementAndGet();
+ JungleTree tree = jungle.getTreeByName(_boardName);
+ Node node = tree.getRootNode();
+
+ DefaultTraverser traverser = new DefaultTraverser();
+ TraversableNodeWrapper traversable = new TraversableNodeWrapper(node);
+ DefaultEvaluator evaluator = new DefaultEvaluator(path);
+ Either>> ret = traverser.traverse(traversable, evaluator);
+ if (ret.isA()) {
+ Assert.fail();
+ }
+
+ Traversal> traversal = ret.b();
+ TraversableNodeWrapper target = traversal.destination();
+ Children chs = target.getWrapped().getChildren();
+
+ final AtomicInteger counter = new AtomicInteger(0);
+ IterableConverter.Converter converter = new IterableConverter.Converter() {
public BoardMessage conv(Node _b) {
String uuid = Integer.toString(counter.get());
String author = new String(_b.getAttributes().get("author").array());
String message = new String(_b.getAttributes().get("mes").array());
counter.incrementAndGet();
- return new BoardMessageImpl(author,message,uuid);
+ return new BoardMessageImpl(author, message, uuid);
}
};
- return new IterableConverter(chs,converter);
+ return new IterableConverter(chs, converter);
}
-
+
public int getRequestNum() {
return requestCounter.get();
}
-
- private static class BoardMessageImpl implements BoardMessage
- {
+ private static class BoardMessageImpl implements BoardMessage {
private final String author;
private final String message;
private final String uuid;
-
- public BoardMessageImpl(String _author,String _message,String _uuid)
- {
+
+ public BoardMessageImpl(String _author, String _message, String _uuid) {
author = _author;
message = _message;
uuid = _uuid;
}
- public String getAuthor()
- {
+ public String getAuthor() {
return author;
}
- public String getMessage()
- {
+ public String getMessage() {
return message;
}
- public String getUUID()
- {
+ public String getUUID() {
return uuid;
}
diff -r cef31516e2e5 -r b3d5fbe95b9a src/main/java/app/bbs/ShowMessageWithTimeStampServlet.java
--- a/src/main/java/app/bbs/ShowMessageWithTimeStampServlet.java Tue Jul 15 18:07:36 2014 +0900
+++ b/src/main/java/app/bbs/ShowMessageWithTimeStampServlet.java Mon Jul 28 14:09:54 2014 +0900
@@ -11,57 +11,64 @@
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.BoardMessage;
public class ShowMessageWithTimeStampServlet extends HttpServlet {
- /**
+ /**
*
*/
- private static final long serialVersionUID = 1L;
- private final NetworkBulletinBoard bbs;
- private final String createBoardMessagePath;
- private final String editMessagePath;
+ private static final long serialVersionUID = 1L;
+ private final NetworkBulletinBoard bbs;
+ private final String createBoardMessagePath;
+ private final String editMessagePath;
+ private final String showMatrixPath;
- private static final String PARAM_BOARD_NAME = "bname";
+ private static final String PARAM_BOARD_NAME = "bname";
- public ShowMessageWithTimeStampServlet(NetworkBulletinBoard _bbs,
- String _createBoardMessagePath, String _editMessagePath,
- ThreadPool thp) {
- bbs = _bbs;
- createBoardMessagePath = _createBoardMessagePath;
- editMessagePath = _editMessagePath;
- }
+ public ShowMessageWithTimeStampServlet(NetworkBulletinBoard _bbs,
+ String _createBoardMessagePath, String _editMessagePath, String _showMatrixPath,
+ ThreadPool thp) {
+ bbs = _bbs;
+ showMatrixPath = _showMatrixPath;
+ createBoardMessagePath = _createBoardMessagePath;
+ editMessagePath = _editMessagePath;
+ }
- public void doGet(HttpServletRequest _req, HttpServletResponse _res) {
- final String bname = _req.getParameter(PARAM_BOARD_NAME);
- try {
- printBoard(bname, _res.getWriter());
- } catch (Exception _e) {
- _res.setStatus(500);
- }
- }
+ public void doGet(HttpServletRequest _req, HttpServletResponse _res) {
+ final String bname = _req.getParameter(PARAM_BOARD_NAME);
+ final String name = _req.getParameter("key");
+ try {
+ printBoard(bname, _res.getWriter());
+ } catch (Exception _e) {
+ _res.setStatus(500);
+ }
+ }
- private void printBoard(String _bname, PrintWriter _pw) throws Exception {
- _pw.write("\n");
- _pw.write("" + _bname + "
\n");
- _pw.write("Latest renew time : " + bbs.getRenewTime(_bname)
- + "
\n");
- ;
+ private void printBoard(String _bname, PrintWriter _pw) throws Exception {
+ _pw.write("\n");
+ _pw.write("" + _bname + "
\n");
+ _pw.write("Latest renew time : " + bbs.getRenewTime(_bname)
+ + "
\n");
+ ;
+
+ _pw.write("
\n");
+ _pw.write("Message
\n");
+ _pw.write("\n");
- _pw.write("");
+
+
+ _pw.write("
add Attribute
");
+ _pw.write("");
+//やることはgetChildren(Folderを持ってくる)とgetMessage(中身の表示)
+ for (BoardMessage msg : bbs.getFolder(_bname, nodeNum)) {
+ _pw.write("
");
+ _pw.write(""+msg.getMessage()+"(folder)"+"
");
+ _pw.write("edit(not s)");
+ }
+ /* for (BoardMessage msg : bbs.getMessages(_bname)) {
+ _pw.write("
");
+ _pw.write("" + "Author : " + msg.getAuthor() + "
");
+ _pw.write("edit");
+ }*/
+
+ _pw.write("");
+ _pw.flush();
+ }
+}
\ No newline at end of file
diff -r cef31516e2e5 -r b3d5fbe95b9a src/main/java/app/bbs/thinks/createAttributeMatrix.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/app/bbs/thinks/createAttributeMatrix.java Mon Jul 28 14:09:54 2014 +0900
@@ -0,0 +1,45 @@
+package app.bbs.thinks;
+
+import java.io.PrintWriter;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import app.bbs.NetworkBulletinBoard;
+
+public class createAttributeMatrix extends HttpServlet
+{
+ private final NetworkBulletinBoard bbs;
+ private static final String PARAM_BOARD_NAME = "bname";
+ private static final String PARAM_BOARD_MSGID = "uuid";
+ private static final String PARAM_BOARD_AUTHOR = "author";
+ private static final String PARAM_BOARD_MESSAGE= "msg";
+ private static final String PARAM_BOARD_EDITKEY = "key";
+
+ private static final long serialVersionUID = 1L;
+
+ public createAttributeMatrix(NetworkBulletinBoard _bbs)
+ {
+ bbs = _bbs;
+ }
+
+
+
+ public void doPost(HttpServletRequest _req,HttpServletResponse _res)
+ {
+ String boardName = _req.getParameter(PARAM_BOARD_NAME);
+ String author = _req.getParameter(PARAM_BOARD_AUTHOR);
+ String msg = _req.getParameter(PARAM_BOARD_MESSAGE);
+ String key = _req.getParameter(PARAM_BOARD_EDITKEY);
+ String uuid = _req.getParameter(PARAM_BOARD_MSGID);
+ try{
+ bbs.createAttribute(boardName, uuid, author, msg, key);
+ PrintWriter pw = _res.getWriter();
+ pw.write("successfully written");
+ pw.flush();
+ }catch(Exception _e){
+ _res.setStatus(500);
+ }
+ }
+}
diff -r cef31516e2e5 -r b3d5fbe95b9a src/test/java/alice/jungle/showMessageTest.java
--- a/src/test/java/alice/jungle/showMessageTest.java Tue Jul 15 18:07:36 2014 +0900
+++ b/src/test/java/alice/jungle/showMessageTest.java Mon Jul 28 14:09:54 2014 +0900
@@ -1,39 +1,50 @@
package alice.jungle;
-
import java.io.*;
import java.net.*;
+import alice.jungle.remote.RemoteConfig;
+import app.bbs.codesegment.StartBBSCodeSegment;
+
public class showMessageTest {
- public static void main(String args[]) {
+ public static void main(String args[]) throws Exception {
String host = "localhost";
int port = 8080;
String path = "/showBoardMessage?bname=" + args[0];
- String url = "http://" + host + ":" + port + path;
- String str;
- System.out.println(url);
- try {
- Socket socket = new Socket(host, port);
- BufferedReader readSocket = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- BufferedWriter writeSocket = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
+ String url = "http://" + host + ":" + port + path;
+ String str;
+ System.out.println(url);
+ RemoteConfig conf = new RemoteConfig(args);
+ StartBBSCodeSegment cs1 = new StartBBSCodeSegment(args, conf.bbsPort);
+ cs1.ods.put("host", "node0");
+ BufferedReader input = new BufferedReader(new InputStreamReader(
+ System.in));
+ Thread.sleep(1000);
- writeSocket.write("GET " + url +" HTTP/1.1\r\n");
- writeSocket.write("Host: " + host + "\n");
- writeSocket.write("\n");
- writeSocket.flush();
+ do{
+ try {
+ Socket socket = new Socket(host, port);
+ BufferedReader readSocket = new BufferedReader(
+ new InputStreamReader(socket.getInputStream()));
+ BufferedWriter writeSocket = new BufferedWriter(
+ new OutputStreamWriter(socket.getOutputStream()));
- while ((str = readSocket.readLine()) != null) {
- System.out.println(str);
- }
+ writeSocket.write("GET " + url + " HTTP/1.1\r\n");
+ writeSocket.write("Host: " + host + "\n");
+ writeSocket.write("\n");
+ writeSocket.flush();
+ while ((str = readSocket.readLine()) != null) {
+ System.out.println(str);
+ }
+ writeSocket.close();
+ readSocket.close();
+ socket.close();
+ System.out.println("please input connection tree name or quit");
- writeSocket.close();
- readSocket.close();
- socket.close();
-
- } catch (Exception ex) {
- ex.printStackTrace();
- }
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }while(input.readLine() != "quit");
}
-
}