# HG changeset patch # User one # Date 1409068931 -32400 # Node ID e97a59269bf586777ca30668c96fc8e927277501 # Parent 5969848b1bb842ca77aa87e3a6a7c5928dc90624 change to Various diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungle.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungle.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungle.java Wed Aug 27 01:02:11 2014 +0900 @@ -76,7 +76,7 @@ }; DefaultTreeNode root = new DefaultTreeNode(); - ChangeSet set = new DefaultChangeSet(root.getAsNode(),null,list,uuid,_name,0); + ChangeSet set = new DefaultChangeSet(root,null,list,uuid,_name,0); DefaultTreeContext tc = new DefaultTreeContext(root,set); JungleTree newTree = new DefaultJungleTree(tc,uuid,journal.getWriter(),editor); if(trees.putIfAbsent(_name,newTree) != null){ diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungleTree.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungleTree.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungleTree.java Wed Aug 27 01:02:11 2014 +0900 @@ -1,6 +1,5 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeListWriter; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; @@ -10,7 +9,7 @@ import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTransactionManager; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TreeContext; -public class DefaultJungleTree> implements JungleTree +public class DefaultJungleTree> implements JungleTree { private final AtomicReservableReference> repository; private final String uuid; @@ -30,7 +29,7 @@ { TreeContext tc = repository.get(); DefaultTransactionManager txManager = new DefaultTransactionManager(writer,tc,repository,uuid); - T root = tc.getTreeNode(); + TreeNode root = tc.getTreeNode(); return new DefaultJungleTreeEditor(root,txManager,editor); } @@ -41,10 +40,10 @@ } @Override - public Node getRootNode() + public TreeNode getRootNode() { TreeContext tc = repository.get(); - ChangeSet cs = tc.getChangeSet(); + ChangeSet cs = tc.getChangeSet(); return cs.getRoot(); } } diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/JungleTree.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/JungleTree.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/JungleTree.java Wed Aug 27 01:02:11 2014 +0900 @@ -1,10 +1,10 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle; -import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; -public interface JungleTree +public interface JungleTree> { public JungleTreeEditor getTreeEditor(); public JungleTreeEditor getLocalTreeEditor(); - public Node getRootNode(); + public TreeNode getRootNode(); } diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/App.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/App.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/core/App.java Wed Aug 27 01:02:11 2014 +0900 @@ -1,11 +1,13 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core; 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.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.traverser.DefaultTraverser; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; @@ -14,13 +16,13 @@ * Hello world! * */ -public class App +public class App { - public static void main( String[] args ) + public static >void main( String[] args ) { DefaultJungle jungle = new DefaultJungle(null,"sample",new DefaultTreeEditor(new DefaultTraverser())); jungle.createNewTree("hoge"); - JungleTree tree = jungle.getTreeByName("hoge"); + JungleTree tree = jungle.getTreeByName("hoge"); JungleTreeEditor editor = tree.getTreeEditor(); DefaultNodePath path = new DefaultNodePath(); @@ -32,7 +34,7 @@ e.success(); - Node root = tree.getRootNode(); + TreeNode root = tree.getRootNode(); ByteBuffer v = root.getAttributes().get(key); String str = new String(v.array()); System.out.println(str); diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/ChangeSet.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/ChangeSet.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/ChangeSet.java Wed Aug 27 01:02:11 2014 +0900 @@ -2,12 +2,13 @@ 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.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; -public interface ChangeSet +public interface ChangeSet> { - public Node getRoot(); - public ChangeSet prev(); + public TreeNode getRoot(); + public ChangeSet prev(); public ChangeList getChangeList(); public String uuid(); diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultChangeSet.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultChangeSet.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultChangeSet.java Wed Aug 27 01:02:11 2014 +0900 @@ -1,20 +1,20 @@ package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction; -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.store.ChangeSet; +import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; -public class DefaultChangeSet implements ChangeSet +public class DefaultChangeSet> implements ChangeSet { - private final Node root; - private final ChangeSet previous; + private final TreeNode root; + private final ChangeSet previous; private final ChangeList changeList; private final String uuid; private final String treeName; private final long revision; - public DefaultChangeSet(Node _node,ChangeSet _prev,ChangeList _log,String _uuid, String _treeName, long _revision) + public DefaultChangeSet(TreeNode _node,ChangeSet _prev,ChangeList _log,String _uuid, String _treeName, long _revision) { root = _node; previous = _prev; @@ -25,13 +25,13 @@ } @Override - public Node getRoot() + public TreeNode getRoot() { return root; } @Override - public ChangeSet prev() + public ChangeSet prev() { return previous; } diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultJungleTreeEditor.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultJungleTreeEditor.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultJungleTreeEditor.java Wed Aug 27 01:02:11 2014 +0900 @@ -26,16 +26,16 @@ public class DefaultJungleTreeEditor> implements JungleTreeEditor { private final TransactionManager txManager; - private final T root; + private final TreeNode root; private final TreeEditor editor; private final TreeOperationLog log; - public DefaultJungleTreeEditor(T _root,TransactionManager _txManager,TreeEditor _editor) + public DefaultJungleTreeEditor(TreeNode _root,TransactionManager _txManager,TreeEditor _editor) { this(_root,_txManager,_editor,new DefaultTreeOperationLog()); } - public DefaultJungleTreeEditor(T _root,TransactionManager _txManager,TreeEditor _editor,TreeOperationLog _log) + public DefaultJungleTreeEditor(TreeNode _root,TransactionManager _txManager,TreeEditor _editor,TreeOperationLog _log) { root = _root; txManager = _txManager; @@ -46,12 +46,13 @@ private Either _edit(final NodePath _path,NodeEditor _e) { LoggingNodeHook hook = new LoggingNodeHook(_e); - Either either = editor.edit(root,_path,hook); + Either> either = editor.edit(root,_path,hook); if(either.isA()){ return DefaultEither.newA(either.a()); } - T newNode = either.b(); + TreeNode newNode = either.b(); + OperationLog newLog = hook.getLog(); IterableConverter.Converter converter = new IterableConverter.Converter(){ diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTransactionManager.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTransactionManager.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTransactionManager.java Wed Aug 27 01:02:11 2014 +0900 @@ -32,9 +32,9 @@ } @Override - public Either> commit(T _newRoot,final TreeOperationLog _log) + public Either> commit(TreeNode _newRoot,final TreeOperationLog _log) { - ChangeSet cs = tip.getChangeSet(); + ChangeSet cs = tip.getChangeSet(); long currentRevision = cs.revision(); long nextRevision = currentRevision + 1; @@ -54,8 +54,8 @@ } }; - Node root = _newRoot.getAsNode(); - DefaultChangeSet newCs = new DefaultChangeSet(root,cs,list,uuid, _treeName, nextRevision); + TreeNode root = _newRoot; + DefaultChangeSet newCs = new DefaultChangeSet(root,cs,list,uuid, _treeName, nextRevision); DefaultTreeContext newContext = new DefaultTreeContext(_newRoot,newCs); @SuppressWarnings("rawtypes") @@ -81,7 +81,7 @@ @Override public long getRevision() { - ChangeSet cs = tip.getChangeSet(); + ChangeSet cs = tip.getChangeSet(); return cs.revision(); } } diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeContext.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeContext.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/DefaultTreeContext.java Wed Aug 27 01:02:11 2014 +0900 @@ -5,23 +5,23 @@ public class DefaultTreeContext> implements TreeContext { - private final T root; - private final ChangeSet cs; + private final TreeNode root; + private final ChangeSet cs; - public DefaultTreeContext(T _newRoot,ChangeSet _cs) + public DefaultTreeContext(TreeNode _newRoot,ChangeSet _cs) { root = _newRoot; cs = _cs; } @Override - public ChangeSet getChangeSet() + public ChangeSet getChangeSet() { return cs; } @Override - public T getTreeNode() + public TreeNode getTreeNode() { return root; } diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/TransactionManager.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/TransactionManager.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/TransactionManager.java Wed Aug 27 01:02:11 2014 +0900 @@ -7,7 +7,7 @@ public interface TransactionManager> { - public Either> commit(T _newRoot,TreeOperationLog _log); + public Either> commit(TreeNode _newRoot,TreeOperationLog _log); public String getUUID(); public long getRevision(); } diff -r 5969848b1bb8 -r e97a59269bf5 src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/TreeContext.java --- a/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/TreeContext.java Tue Aug 26 07:41:35 2014 +0900 +++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/transaction/TreeContext.java Wed Aug 27 01:02:11 2014 +0900 @@ -5,6 +5,6 @@ public interface TreeContext> { - public ChangeSet getChangeSet(); - public T getTreeNode(); + public ChangeSet getChangeSet(); + public TreeNode getTreeNode(); }