changeset 129:8067fec660ab

remove Error
author one
date Tue, 14 Oct 2014 15:11:17 +0900
parents 9c46e5c2ffac
children bb53330364f1
files src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/IndexJungleTreeEditor.java src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DefaultIndexEditor.java src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DeleteChildIndexEditor.java src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DeleteIndexEditor.java src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/IndexEditor.java src/test/java/ip/ac/u_ryukyu/ie/cr/tatsuki/jungle/index/IndexTest.java
diffstat 6 files changed, 113 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/IndexJungleTreeEditor.java	Tue Oct 14 15:06:02 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/IndexJungleTreeEditor.java	Tue Oct 14 15:11:17 2014 +0900
@@ -131,7 +131,7 @@
 		DeleteAttribute deleteAttribute = new DeleteAttribute(_key);
 		DeleteIndexEditor indexEditor = new DeleteIndexEditor();
 		Either<Error,IndexJungleTreeEditor> either = _edit(_path,deleteAttribute,indexEditor);
-		Either<Error,JungleTreeEditor> newEither = indexEditor.edit(either.b()); 
+		Either<Error,JungleTreeEditor> newEither = DefaultEither.newB(either.b());
 		return newEither;
 	}
 
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DefaultIndexEditor.java	Tue Oct 14 15:06:02 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DefaultIndexEditor.java	Tue Oct 14 15:11:17 2014 +0900
@@ -1,16 +1,31 @@
 package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index;
 
+import fj.data.List;
+import fj.data.TreeMap;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.IndexJungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager;
 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.Pair;
 
 public class DefaultIndexEditor implements IndexEditor {
 
 	@Override
-	public Either<Error, JungleTreeEditor> edit(IndexJungleTreeEditor e) {
+	public Either<Error, JungleTreeEditor> edit(
+			TreeNode root,
+			TransactionManager txManager,
+			TreeEditor editor,
+			TreeOperationLog log,
+			TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index) {
 		// TODO Auto-generated method stub
 		return null;
 	}
 
+
+
 }
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DeleteChildIndexEditor.java	Tue Oct 14 15:06:02 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DeleteChildIndexEditor.java	Tue Oct 14 15:11:17 2014 +0900
@@ -1,16 +1,31 @@
 package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index;
 
+import fj.data.List;
+import fj.data.TreeMap;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.IndexJungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager;
 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.Pair;
 
 public class DeleteChildIndexEditor implements IndexEditor {
 
 	@Override
-	public Either<Error, JungleTreeEditor> edit(IndexJungleTreeEditor e) {
+	public Either<Error, JungleTreeEditor> edit(
+			TreeNode root,
+			TransactionManager txManager,
+			TreeEditor editor,
+			TreeOperationLog log,
+			TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index) {
 		// TODO Auto-generated method stub
 		return null;
 	}
 
+
+
 }
--- a/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DeleteIndexEditor.java	Tue Oct 14 15:06:02 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DeleteIndexEditor.java	Tue Oct 14 15:11:17 2014 +0900
@@ -1,14 +1,29 @@
 package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index;
 
+import fj.data.List;
+import fj.data.TreeMap;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.IndexJungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager;
 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.Pair;
 
 public class DeleteIndexEditor implements IndexEditor {
 
+
+
 	@Override
-	public Either<Error, JungleTreeEditor> edit(IndexJungleTreeEditor e) {
+	public Either<Error, JungleTreeEditor> edit(
+			TreeNode root,
+			TransactionManager txManager,
+			TreeEditor editor,
+			TreeOperationLog log,
+			TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index) {
 		// TODO Auto-generated method stub
 		return null;
 	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/IndexEditor.java	Tue Oct 14 15:11:17 2014 +0900
@@ -0,0 +1,18 @@
+package jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index;
+
+import fj.data.List;
+import fj.data.TreeMap;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.IndexJungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager;
+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.Pair;
+
+public interface IndexEditor {
+	Either<Error, JungleTreeEditor> edit(TreeNode root,TransactionManager txManager, TreeEditor editor,TreeOperationLog log,TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/test/java/ip/ac/u_ryukyu/ie/cr/tatsuki/jungle/index/IndexTest.java	Tue Oct 14 15:11:17 2014 +0900
@@ -0,0 +1,46 @@
+package ip.ac.u_ryukyu.ie.cr.tatsuki.jungle.index;
+
+import java.nio.ByteBuffer;
+
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.DefaultJungle;
+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.store.NodePath;
+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.TreeNode;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.IndexJungleTreeEditor;
+import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser;
+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.Pair;
+import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.IndexEditor;
+import junit.framework.Assert;
+
+import org.junit.Test;
+
+import fj.data.List;
+import fj.data.TreeMap;
+
+public class IndexTest {
+
+	@Test
+	public void IndexTest(){
+		DefaultJungle jungle = new DefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser()));
+		JungleTree tree = jungle.createNewTree("fuga");
+		JungleTreeEditor editor = tree.getIndexTreeEditor();
+		NodePath path = new DefaultNodePath();
+		Either<Error, JungleTreeEditor> either = editor.addNewChildAt(path, 0);
+		Assert.assertFalse(either.isA());
+		
+		JungleTreeEditor editor2 = either.b();
+		Either<Error, JungleTreeEditor> either2 = editor2.putAttribute(path.add(0),"key", ByteBuffer.wrap("test".toString().getBytes()));
+		Assert.assertFalse(either2.isA());
+		JungleTreeEditor editor3 = either2.b();
+		editor3.success();
+		
+		IndexJungleTreeEditor IndexEditor = tree.getIndexTreeEditor();
+		TreeMap<String, TreeMap<String, List<Pair<TreeNode, NodePath>>>> index = IndexEditor.getIndex();
+		Assert.assertFalse(index.isEmpty());
+	}
+}