# HG changeset patch # User one # Date 1413267077 -32400 # Node ID 8067fec660ab9e91e477ebdfecd45f6a4bdbdf50 # Parent 9c46e5c2ffac53f7ac02e880f2234d5a8ee3feab remove Error diff -r 9c46e5c2ffac -r 8067fec660ab src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/IndexJungleTreeEditor.java --- 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 either = _edit(_path,deleteAttribute,indexEditor); - Either newEither = indexEditor.edit(either.b()); + Either newEither = DefaultEither.newB(either.b()); return newEither; } diff -r 9c46e5c2ffac -r 8067fec660ab src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DefaultIndexEditor.java --- 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 edit(IndexJungleTreeEditor e) { + public Either edit( + TreeNode root, + TransactionManager txManager, + TreeEditor editor, + TreeOperationLog log, + TreeMap>>> index) { // TODO Auto-generated method stub return null; } + + } diff -r 9c46e5c2ffac -r 8067fec660ab src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DeleteChildIndexEditor.java --- 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 edit(IndexJungleTreeEditor e) { + public Either edit( + TreeNode root, + TransactionManager txManager, + TreeEditor editor, + TreeOperationLog log, + TreeMap>>> index) { // TODO Auto-generated method stub return null; } + + } diff -r 9c46e5c2ffac -r 8067fec660ab src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/DeleteIndexEditor.java --- 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 edit(IndexJungleTreeEditor e) { + public Either edit( + TreeNode root, + TransactionManager txManager, + TreeEditor editor, + TreeOperationLog log, + TreeMap>>> index) { // TODO Auto-generated method stub return null; } diff -r 9c46e5c2ffac -r 8067fec660ab src/main/java/jp/ac/u_ryukyu/ie/cr/tatsuki/jungle/store/index/IndexEditor.java --- /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 edit(TreeNode root,TransactionManager txManager, TreeEditor editor,TreeOperationLog log,TreeMap>>> index); +} diff -r 9c46e5c2ffac -r 8067fec660ab src/test/java/ip/ac/u_ryukyu/ie/cr/tatsuki/jungle/index/IndexTest.java --- /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 either = editor.addNewChildAt(path, 0); + Assert.assertFalse(either.isA()); + + JungleTreeEditor editor2 = either.b(); + Either 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>>> index = IndexEditor.getIndex(); + Assert.assertFalse(index.isEmpty()); + } +}