diff src/jungle/test/bbs/NetworkJungleBulletinBoard.java @ 65:ebf42371454b

remove warning
author one
date Wed, 14 Aug 2013 17:44:09 +0900
parents 16135d5e804f
children
line wrap: on
line diff
--- a/src/jungle/test/bbs/NetworkJungleBulletinBoard.java	Fri Jul 19 11:16:48 2013 +0900
+++ b/src/jungle/test/bbs/NetworkJungleBulletinBoard.java	Wed Aug 14 17:44:09 2013 +0900
@@ -8,7 +8,6 @@
 import alice.jungle.core.NetworkDefaultJungle;
 import alice.jungle.datasegment.store.operations.DefaultTreeOperationLogContainer;
 import alice.jungle.transaction.NetworkDefaultJungleTreeEditor;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
@@ -19,13 +18,13 @@
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
 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.transaction.DefaultTreeNode;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
 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 jungle.test.bbs.codesegment.HashLogUpdateCodeSegment;
-import jungle.test.bbs.codesegment.NullCodeSegmentForUpdate;
 
 public class NetworkJungleBulletinBoard implements BulletinBoard
 {
@@ -127,14 +126,13 @@
 			throw new IllegalStateException();
 		}
 		
-		JungleTreeEditor editor;
 		Either<Error, JungleTreeEditor> either;
 		do{
 			Node node = tree.getRootNode();
 			int size = node.getChildren().size();
 			DefaultNodePath path = new DefaultNodePath();
 		
-			editor = tree.getTreeEditor();
+			JungleTreeEditor editor = tree.getTreeEditor();
 			either = editor.addNewChildAt(path,size);
 			if(either.isA()){
 				throw new IllegalStateException();
@@ -159,7 +157,8 @@
 			editor = either.b();
 			either = editor.success();
 			try {
-				putTreeOperationLog((NetworkDefaultJungleTreeEditor)editor, size, timestamp);
+				NetworkDefaultJungleTreeEditor<DefaultTreeNode> netEditor = (NetworkDefaultJungleTreeEditor<DefaultTreeNode>) editor;
+				putTreeOperationLog(netEditor, size, timestamp);
 			} catch (IOException e1) {
 				e1.printStackTrace();
 			}
@@ -169,14 +168,12 @@
 
 	public void editMessage(String _board,String _uuid,final String _author,final String _message,final String _editKey)
 	{
-		JungleTreeEditor editor = null;
-		Either<Error,JungleTreeEditor> either = null;
-		do{
+		for(;;) {
 			DefaultNodePath path = new DefaultNodePath();
 			path = path.add(Integer.parseInt(_uuid));
 		
 			JungleTree tree = jungle.getTreeByName(_board);
-			editor = tree.getTreeEditor();
+			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){
@@ -189,7 +186,7 @@
 				}
 			};
 		
-			either = editor.edit(path,e);
+			Either<Error, JungleTreeEditor> either = editor.edit(path,e);
 			if(either.isA()){
 				throw new IllegalStateException();
 			}
@@ -200,7 +197,11 @@
 			} catch (IOException e1) {
 				e1.printStackTrace();
 			}
-		}while(either.isA());
+			if(!either.isA()) {
+				return;
+			}
+		}
+
 	}
 
 	public Iterable<BoardMessage> getMessages(String _boardName)
@@ -223,7 +224,7 @@
 		return new IterableConverter<BoardMessage,Node>(chs,converter);
 	}
 	
-	private void putTreeOperationLog(NetworkDefaultJungleTreeEditor editor, int pos, long timestamp) throws IOException {
+	private void putTreeOperationLog(NetworkDefaultJungleTreeEditor<DefaultTreeNode> editor, int pos, long timestamp) throws IOException {
 		String uuid = editor.getID();
 		String treeName = editor.getTreeName();
 		String updaterName = editor.getUpdaterName();