Mercurial > hg > Members > nobuyasu > jungle-network
annotate src/alice/jungle/core/NetworkDefaultJungle.java @ 42:4419ac56cbfd
implemented serverName filed
author | one |
---|---|
date | Thu, 11 Jul 2013 19:58:36 +0900 |
parents | bf696a6334b2 |
children | 686057add8a4 |
rev | line source |
---|---|
31 | 1 package alice.jungle.core; |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
2 |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
3 import java.util.Iterator; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
4 import java.util.concurrent.ConcurrentHashMap; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
5 |
31 | 6 import alice.jungle.transaction.NetworkDefaultJungleTree; |
7 | |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.Jungle; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTree; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.ChangeList; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.Journal; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.persistent.NullJournal; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.ChangeSet; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.TreeOperation; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultChangeSet; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeContext; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.DefaultTreeNode; |
16 | 19 import jungle.test.codesegment.persistence.AliceJournal; |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
20 import fj.data.List; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
21 |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
22 public class NetworkDefaultJungle implements Jungle { |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
23 private Journal journal; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
24 private ConcurrentHashMap<String,JungleTree> trees; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
25 private String uuid; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
26 private TreeEditor editor; |
42 | 27 private String serverName; |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
28 |
42 | 29 public NetworkDefaultJungle(Journal _journal,String _uuid,TreeEditor _editor, String _serverName) |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
30 { |
34 | 31 journal = new AliceJournal(); |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
32 trees = new ConcurrentHashMap<String,JungleTree>(); |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
33 uuid = _uuid; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
34 editor = _editor; |
42 | 35 serverName = _serverName; |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
36 } |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
37 |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
38 @Override |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
39 public JungleTree getTreeByName(String _name) |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
40 { |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
41 return trees.get(_name); |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
42 } |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
43 |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
44 @Override |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
45 public JungleTree createNewTree(String _name) |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
46 { |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
47 ChangeList list = new ChangeList(){ |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
48 @Override |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
49 public Iterator<TreeOperation> iterator() { |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
50 List<TreeOperation> nil = List.nil(); |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
51 return nil.iterator(); |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
52 } |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
53 }; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
54 DefaultTreeNode root = new DefaultTreeNode(); |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
55 ChangeSet set = new DefaultChangeSet(root.getAsNode(),null,list,uuid,0); |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
56 DefaultTreeContext<DefaultTreeNode> tc = new DefaultTreeContext<DefaultTreeNode>(root,set); |
42 | 57 JungleTree newTree = new NetworkDefaultJungleTree<DefaultTreeNode>(_name, tc,uuid,journal.getWriter(),editor, serverName); |
12
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
58 if(trees.putIfAbsent(_name,newTree) != null){ |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
59 return null; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
60 } |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
61 return newTree; |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
62 } |
80680cfcfd3b
add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff
changeset
|
63 } |