Mercurial > hg > Members > tatsuki > bench > jungle-core
comparison src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/DefaultJungle.java @ 74:3a3622cf2eef
remove error but have a error test program
and LoggingChildren.iterator is bad
author | one |
---|---|
date | Wed, 27 Aug 2014 05:07:50 +0900 |
parents | 57e965b73c9e |
children | 0f01ee222035 |
comparison
equal
deleted
inserted
replaced
72:5969848b1bb8 | 74:3a3622cf2eef |
---|---|
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle; | 1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle; |
2 | 2 |
3 import java.util.Iterator; | 3 import java.util.Iterator; |
4 import java.util.concurrent.ConcurrentHashMap; | 4 import java.util.concurrent.ConcurrentHashMap; |
5 | |
5 import fj.data.List; | 6 import fj.data.List; |
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; | 7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; |
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal; | 8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal; |
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.NullJournal; | 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.NullJournal; |
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; | 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; |
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; | 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; |
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; | 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath; |
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; | 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultTreeEditor; |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; | |
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; | 15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; |
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet; | 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet; |
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; | 17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; |
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; | 18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; |
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; | 19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.traverser.DefaultTraverser; |
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; | 20 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; |
19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; | 21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; |
20 | 22 |
21 public class DefaultJungle implements Jungle | 23 public class DefaultJungle<T extends TreeNode<T>> implements Jungle |
22 { | 24 { |
23 private Journal journal; | 25 private Journal journal; |
24 private ConcurrentHashMap<String,JungleTree> trees; | 26 private ConcurrentHashMap<String,JungleTree> trees; |
25 private String uuid; | 27 private String uuid; |
26 private TreeEditor editor; | 28 private TreeEditor editor; |
27 | 29 |
28 public static void main(String _args[]) | 30 public static <T extends TreeNode<T>>void main(String _args[]) |
29 { | 31 { |
30 DefaultJungle j = new DefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser())); | 32 DefaultJungle<T> j = new DefaultJungle(null,"hoge",new DefaultTreeEditor(new DefaultTraverser())); |
31 JungleTree t = j.createNewTree("fuga"); | 33 JungleTree t = j.createNewTree("fuga"); |
32 | 34 |
33 JungleTreeEditor e1 = t.getTreeEditor(); | 35 JungleTreeEditor e1 = t.getTreeEditor(); |
34 JungleTreeEditor e2 = t.getTreeEditor(); | 36 JungleTreeEditor e2 = t.getTreeEditor(); |
35 | 37 |
74 return _name; | 76 return _name; |
75 } | 77 } |
76 }; | 78 }; |
77 | 79 |
78 DefaultTreeNode root = new DefaultTreeNode(); | 80 DefaultTreeNode root = new DefaultTreeNode(); |
79 ChangeSet set = new DefaultChangeSet(root.getAsNode(),null,list,uuid,_name,0); | 81 ChangeSet<T> set = new DefaultChangeSet(root,null,list,uuid,_name,0); |
80 DefaultTreeContext<DefaultTreeNode> tc = new DefaultTreeContext<DefaultTreeNode>(root,set); | 82 DefaultTreeContext<DefaultTreeNode> tc = new DefaultTreeContext<DefaultTreeNode>(root,set); |
81 JungleTree newTree = new DefaultJungleTree<DefaultTreeNode>(tc,uuid,journal.getWriter(),editor); | 83 JungleTree newTree = new DefaultJungleTree<DefaultTreeNode>(tc,uuid,journal.getWriter(),editor); |
82 if(trees.putIfAbsent(_name,newTree) != null){ | 84 if(trees.putIfAbsent(_name,newTree) != null){ |
83 return null; | 85 return null; |
84 } | 86 } |