comparison src/main/java/alice/jungle/core/NetworkDefaultJungle.java @ 193:89c15aa2bc6d

change transaction
author tatsuki
date Fri, 20 Mar 2015 16:18:42 +0900
parents 5d0734fd859d
children fd4064e110bd
comparison
equal deleted inserted replaced
192:3202a2a427b1 193:89c15aa2bc6d
6 import alice.jungle.transaction.NetworkDefaultJungleTree; 6 import alice.jungle.transaction.NetworkDefaultJungleTree;
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; 7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle;
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; 8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree;
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal; 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeContext;
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode; 13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; 14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation;
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet;
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; 15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext;
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; 16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode;
18 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.Index;
19 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.ParentIndex; 17 import jp.ac.u_ryukyu.ie.cr.tatsuki.jungle.store.index.ParentIndex;
18 import fj.Ord;
20 import fj.data.List; 19 import fj.data.List;
21 import fj.data.TreeMap; 20 import fj.data.TreeMap;
22 21
23 public class NetworkDefaultJungle implements Jungle { 22 public class NetworkDefaultJungle implements Jungle {
24 private Journal journal; 23 private Journal journal;
56 public String getTreeName() { 55 public String getTreeName() {
57 return name; 56 return name;
58 } 57 }
59 }; 58 };
60 TreeNode root = new DefaultTreeNode(); 59 TreeNode root = new DefaultTreeNode();
61 TreeMap<String, TreeMap<String, TreeMap<TreeNode, TreeNode>>> indexList = new Index().getIndex(); 60 TreeMap<String, TreeMap<String, TreeMap<TreeNode, TreeNode>>> indexList = TreeMap.empty(Ord.stringOrd);
62 TreeMap<TreeNode, TreeNode> parentIndex = new ParentIndex().getParentIndex(); 61 TreeMap<TreeNode, TreeNode> parentIndex = new ParentIndex().getParentIndex();
63 ChangeSet set = new DefaultChangeSet(root, null, list, uuid, name, 0, indexList, parentIndex); 62 TreeContext tc = new DefaultTreeContext(root, null, list, uuid, name, 0, indexList, parentIndex);
64 DefaultTreeContext tc = new DefaultTreeContext(root, set);
65 JungleTree newTree = new NetworkDefaultJungleTree(name, tc, uuid, journal.getWriter(), editor); 63 JungleTree newTree = new NetworkDefaultJungleTree(name, tc, uuid, journal.getWriter(), editor);
66 if (trees.putIfAbsent(name, newTree) != null) { 64 if (trees.putIfAbsent(name, newTree) != null) {
67 return null; 65 return null;
68 } 66 }
69 return newTree; 67 return newTree;