changeset 136:0ea565624ddf

Removed unnecessary file
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sun, 12 Jan 2014 06:19:23 +0900
parents 2e8034524259
children 8233c652065b
files src/main/java/app/bbs/PersistentJungleBulletinBoard.java
diffstat 1 files changed, 0 insertions(+), 299 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/app/bbs/PersistentJungleBulletinBoard.java	Sun Jan 12 06:18:37 2014 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +0,0 @@
-package app.bbs;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.Date;
-import java.util.concurrent.atomic.AtomicInteger;
-
-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;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs.BoardMessage;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Children;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
-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.trasnformer.EditableNode;
-import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
-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 alice.jungle.core.NetworkDefaultJungle;
-import alice.jungle.persistent.NetworkJournal;
-import alice.jungle.persistent.PersistentJournal;
-import alice.jungle.transaction.JungleUpdater;
-
-public class PersistentJungleBulletinBoard implements NetworkBulletinBoard
-{
-	private final Jungle jungle;
-	private final NetworkJournal journal;
-	private final String LOG_DIR = "./log"; 
-	
-	public PersistentJungleBulletinBoard(String _uuid) throws FileNotFoundException
-	{
-		journal = new PersistentJournal();	
-		jungle = new NetworkDefaultJungle(journal, _uuid,new DefaultTreeEditor(new DefaultTraverser()));	
-		BulletinBoardJungleManager.setJungle(jungle);
-	}
-	
-	public void init() {
-		checkAndCreateLogDirectory();
-		try {
-			commitLogRecover();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	public void checkAndCreateLogDirectory() {
-		File logFile = new File(LOG_DIR);
-		if(!logFile.exists()) {
-			logFile.mkdir();
-			return;
-		}
-		if (logFile.isFile()) {
-			logFile.delete();
-			logFile.mkdir();
-		}
-	}
-	
-	public void commitLogRecover() throws IOException {
-		File[] logFiles = new File(LOG_DIR).listFiles(); 
-		for(File logFile : logFiles) {
-			commitLogRecover(logFile);
-			logFile.delete();
-		}
-		if(jungle.getTreeByName("boards") == null) {
-			jungle.createNewTree("boards");
-		}
-	}
-	
-	private void commitLogRecover(File logFile) throws IOException {
-		journal.setInputFile(logFile);
-		ChangeListReader reader = journal.getReader();
-		if (reader == null) return;
-		for (ChangeList chList : reader) {
-			String treeName = chList.getTreeName();
-			JungleTree tree = jungle.getTreeByName(treeName);
-			if(tree == null) {
-				tree = jungle.createNewTree(treeName);
-			}
-			JungleTreeEditor editor = tree.getLocalTreeEditor();
-			Either<Error, JungleTreeEditor> either = JungleUpdater.edit(editor, chList);
-			editor = either.b();
-			if(either.isA()) {
-				throw new IOException("Failed commit log recovery");
-			}
-			editor.success();
-		}
-	}
-
-	public Iterable<String> getBoards()
-	{
-		JungleTree tree = jungle.getTreeByName("boards");
-		Node node = tree.getRootNode();
-		Children<Node> chs = node.getChildren();
-		
-		IterableConverter.Converter<String,Node> converter = new IterableConverter.Converter<String,Node>(){
-			public String conv(Node _b) {
-				ByteBuffer e = _b.getAttributes().get("name");
-				return new String(e.array());
-			}
-		};
-		
-		return new IterableConverter<String,Node>(chs,converter);
-	}
-
-	public void createBoards(final String _name,final String _author,final String _initMessage,final String _editKey)
-	{
-		if(null == jungle.createNewTree(_name)){
-			throw new IllegalStateException();
-		}
-		
-		JungleTree tree = jungle.getTreeByName("boards");
-		JungleTreeEditor editor = tree.getTreeEditor();
-		DefaultNodePath root = new DefaultNodePath();
-		Either<Error,JungleTreeEditor> 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()){
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		final long timestamp = new Date().getTime();
-		ByteBuffer tBuffer = ByteBuffer.allocate(16);
-		either = editor.putAttribute(root.add(0),"timestamp", tBuffer.putLong(timestamp));		
-		if(either.isA()){
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		Either<Error,JungleTreeEditor> result = editor.success();
-		if(result.isA()){
-			throw new IllegalStateException();
-		}
-
-		
-		tree = jungle.getTreeByName(_name);
-		editor = tree.getTreeEditor();
-		either = editor.addNewChildAt(root,0);
-		if(either.isA()){
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		
-		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();
-				_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);
-				_e = _e.getAttributes().put("timestamp",tBuffer2.putLong(timestamp)).b();
-				return DefaultEither.newB(_e);
-			}
-		};
-		
-		either = editor.edit(root.add(0),e);
-		if(either.isA()){
-			throw new IllegalStateException();
-		}
-		editor = either.b();
-		editor.success();
-	}
-
-	public void createBoardMessage(final String _board,final String _author,final String _message,final String _editKey)
-	{
-		JungleTree tree = jungle.getTreeByName(_board);
-		if(tree == null){
-			throw new IllegalStateException();
-		}
-		
-		Either<Error, JungleTreeEditor> either;
-		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();
-			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();
-					_e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b();
-					_e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b();
-					ByteBuffer tBuffer = ByteBuffer.allocate(16);
-					_e = _e.getAttributes().put("timestamp",tBuffer.putLong(timestamp)).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)
-	{
-		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();
-					_e = _e.getAttributes().put("mes",ByteBuffer.wrap(_message.getBytes())).b();
-					_e = _e.getAttributes().put("key",ByteBuffer.wrap(_editKey.getBytes())).b();
-					ByteBuffer tBuffer = ByteBuffer.allocate(16);
-					_e = _e.getAttributes().put("timestamp",tBuffer.putLong(timestamp)).b();
-				return DefaultEither.newB(_e);
-				}
-			};
-		
-			Either<Error, JungleTreeEditor> either = editor.edit(path,e);
-			if(either.isA()){
-				throw new IllegalStateException();
-			}
-			editor = either.b();
-			either = editor.success();
-			if(!either.isA()) {
-				return;
-			}
-		}
-
-	}
-
-	public Iterable<BoardMessage> getMessages(String _boardName)
-	{
-		JungleTree tree = jungle.getTreeByName(_boardName);
-		Node node = tree.getRootNode();
-		Children<Node> chs = node.getChildren();
-		
-		final AtomicInteger counter = new AtomicInteger(0);
-		IterableConverter.Converter<BoardMessage,Node> converter = new IterableConverter.Converter<BoardMessage,Node>(){
-			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<BoardMessage,Node>(chs,converter);
-	}
-	
-
-	
-	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)
-		{
-			author = _author;
-			message = _message;
-			uuid = _uuid;
-		}
-
-		public String getAuthor()
-		{
-			return author;
-		}
-
-		public String getMessage()
-		{
-			return message;
-		}
-
-		public String getUUID()
-		{
-			return uuid;
-		}
-	}	
-
-	
-	
-}