changeset 139:c1d75b031b15

Added EditMessageUseGetServlet
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Thu, 23 Jan 2014 21:46:40 +0900
parents 07106bbc6c17
children 09b405d0830b
files howToInstallAliceJar.txt src/main/java/app/bbs/BulletinBoardJungleManager.java src/main/java/app/bbs/EditMessageUseGetServlet.java src/main/java/app/bbs/NetworkJungleBulletinBoard.java src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java
diffstat 5 files changed, 55 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/howToInstallAliceJar.txt	Mon Jan 13 18:49:31 2014 +0900
+++ b/howToInstallAliceJar.txt	Thu Jan 23 21:46:40 2014 +0900
@@ -1,3 +1,3 @@
 #!/bin/sh
 # Please execute follow command 
-mvn install:install-file -Dfile=$WORKSPACE_PATH/Alice/Alice.jar -DgroupId=alice -DartifactId=alice -Dversion=0.1 -Dpackaging=jar
+mvn install:install-file -Dfile=$WORKSPACE_PATH/Alice/Alice.jar -DgroupId=alice -DartifactId=alice -Dversion=0.2 -Dpackaging=jar
--- a/src/main/java/app/bbs/BulletinBoardJungleManager.java	Mon Jan 13 18:49:31 2014 +0900
+++ b/src/main/java/app/bbs/BulletinBoardJungleManager.java	Thu Jan 23 21:46:40 2014 +0900
@@ -50,7 +50,6 @@
 		JungleTree tree = jungle.getTreeByName(treeName);
 		do {
 			JungleTreeEditor editor = tree.getLocalTreeEditor();
-
 			/* 
 			 * Merge. 
 			 */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/app/bbs/EditMessageUseGetServlet.java	Thu Jan 23 21:46:40 2014 +0900
@@ -0,0 +1,43 @@
+package app.bbs;
+
+import java.io.PrintWriter;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.BulletinBoard;
+
+public class EditMessageUseGetServlet extends HttpServlet{
+		private final BulletinBoard 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 EditMessageUseGetServlet(BulletinBoard _bbs)
+		{
+			bbs = _bbs;
+		}
+		
+		public void doGet(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.editMessage(boardName, uuid, author, msg, key);
+				PrintWriter pw = _res.getWriter();
+				pw.write("successfully written");
+				pw.flush();
+			}catch(Exception _e){
+				_res.setStatus(500);
+			}
+		}
+}
--- a/src/main/java/app/bbs/NetworkJungleBulletinBoard.java	Mon Jan 13 18:49:31 2014 +0900
+++ b/src/main/java/app/bbs/NetworkJungleBulletinBoard.java	Thu Jan 23 21:46:40 2014 +0900
@@ -231,13 +231,13 @@
 
 	public void editMessage(String _board,String _uuid,final String _author,final String _message,final String _editKey)
 	{
+		final long timestamp = new Date().getTime(); 
 		for(;;) {
 			DefaultNodePath path = new DefaultNodePath();
 			path = path.add(Integer.parseInt(_uuid));
 		
 			JungleTree tree = jungle.getTreeByName(_board);
 			JungleTreeEditor editor = tree.getTreeEditor();
-			final long timestamp = new Date().getTime(); 
 			NodeEditor e = new NodeEditor(){
 				public <T extends EditableNode<T>> Either<Error, T> edit(T _e){
 					_e = _e.getAttributes().put("author",ByteBuffer.wrap(_author.getBytes())).b();
--- a/src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java	Mon Jan 13 18:49:31 2014 +0900
+++ b/src/main/java/app/bbs/codesegment/StartBBSCodeSegment.java	Thu Jan 23 21:46:40 2014 +0900
@@ -18,6 +18,7 @@
 import alice.codesegment.CodeSegment;
 import alice.datasegment.CommandType;
 import alice.datasegment.Receiver;
+import app.bbs.EditMessageUseGetServlet;
 import app.bbs.NetworkBulletinBoard;
 import app.bbs.NetworkJungleBulletinBoard;
 
@@ -67,8 +68,9 @@
     	String createBoardPath = "/createBoard";
     	String editMessagePath = "/editMessage";
     	String showBoardMessagePath = "/showBoardMessage";
-    	
-    	Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS);
+
+       	
+       	Servlet createBoardMessage = new CreateBoardMessageServlet(cassaBBS);
     	Servlet createBoard = new CreateBoardServlet(cassaBBS);
     	Servlet editBoardMessage = new EditMessageServlet(cassaBBS);
     	Servlet index = new ShowBoardsServlet(cassaBBS,createBoardPath,showBoardMessagePath);
@@ -81,6 +83,12 @@
     	context.addServletWithMapping(new ServletHolder(editBoardMessage),editMessagePath);
     	context.addServletWithMapping(new ServletHolder(index),"/");
     	context.addServletWithMapping(new ServletHolder(board),showBoardMessagePath);
+    	/* 
+    	 * For write benchmark 
+    	 */
+    	String editMessageUseGetPath = "/editMessageUseGet";
+    	Servlet editMessageUseGet = new EditMessageUseGetServlet(cassaBBS);
+    	context.addServletWithMapping(new ServletHolder(editMessageUseGet), editMessageUseGetPath);
     	serv.addHandler(context);
     	try {
 			serv.start();