annotate src/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java @ 95:dcd767b76f8d

Modified putDataSement for to use NetworkTreeOperationLog
author one
date Mon, 18 Nov 2013 17:08:17 +0900
parents 75cf01a430a6
children 11ad00323206
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31
190f6a3bdab2 rename some packages
one
parents: 28
diff changeset
1 package alice.jungle.transaction;
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
2
66
29127ac788a6 move some files
one
parents: 65
diff changeset
3
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
4 import java.io.IOException;
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
5 import java.nio.ByteBuffer;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
6
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
7 import alice.jungle.datasegment.store.container.DefaultTreeOperationLogContainer;
95
dcd767b76f8d Modified putDataSement for to use NetworkTreeOperationLog
one
parents: 93
diff changeset
8 import alice.jungle.operations.NetworkTreeOperationLog;
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
14 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultTreeOperationLog;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
15 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.LoggingNodeHook;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
16 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
17 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.TreeOperationLog;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
18 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.DefaultTreeOperation;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
19 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
20 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
21 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.AppendChildAt;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteAttribute;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteChildAt;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
24 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
25 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.PutAttribute;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
26 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
27 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
28 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
29 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
30 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter;
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
31 import jungle.app.bbs.codesegment.HashLogUpdateCodeSegment;
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
32
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
33 public class NetworkDefaultJungleTreeEditor<T extends TreeNode<T>> implements JungleTreeEditor {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
34
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
35 private final TransactionManager<T> txManager;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
36 private final T root;
92
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
37 private final TreeEditor editor;
32
2f1879e0acec modified to have tree name
one
parents: 31
diff changeset
38 private final String treeName;
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
39 private final TreeOperationLog log;
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
40 private boolean exportLog;
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
41
92
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
42 public NetworkDefaultJungleTreeEditor(String _treeName, T _root,TransactionManager<T> _txManager,TreeEditor _editor)
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
43 {
92
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
44 this(_treeName, _root,_txManager,_editor,new DefaultTreeOperationLog());
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
45 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
46
92
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
47 public NetworkDefaultJungleTreeEditor(String _treeName, T _root,TransactionManager<T> _txManager,TreeEditor _editor, TreeOperationLog _log)
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
48 {
32
2f1879e0acec modified to have tree name
one
parents: 31
diff changeset
49 treeName = _treeName;
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
50 root = _root;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
51 txManager = _txManager;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
52 editor = _editor;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
53 log = _log;
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
54 exportLog = true;
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
55 }
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
56
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
57 public static <T1 extends TreeNode<T1>> NetworkDefaultJungleTreeEditor<T1> NewLocalJungleTreeEditor(String _treeName, T1 _root,TransactionManager<T1> _txManager,TreeEditor _editor) {
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
58 NetworkDefaultJungleTreeEditor<T1> treeEditor = new NetworkDefaultJungleTreeEditor<T1>(_treeName, _root,_txManager,_editor,new DefaultTreeOperationLog());
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
59 treeEditor.exportLog = false;
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
60 return treeEditor;
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
61 }
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 private Either<Error,JungleTreeEditor> _edit(final NodePath _path,NodeEditor _e)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
64 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
65 LoggingNodeHook hook = new LoggingNodeHook(_e);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
66 Either<Error,T> either = editor.edit(root,_path,hook);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
67 if(either.isA()){
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
68 return DefaultEither.newA(either.a());
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
69 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
70
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
71 T newNode = either.b();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
72 OperationLog newLog = hook.getLog();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
73
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
74 IterableConverter.Converter<TreeOperation,NodeOperation> converter = new IterableConverter.Converter<TreeOperation,NodeOperation>(){
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
75 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
76 public TreeOperation conv(NodeOperation _b){
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
77 return new DefaultTreeOperation(_path,_b);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
78 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
79 };
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
80
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
81 Iterable<TreeOperation> iterable = new IterableConverter<TreeOperation,NodeOperation>(newLog,converter);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
82 DefaultTreeOperationLog treeOperationLog = new DefaultTreeOperationLog(iterable,newLog.length());
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
83 TreeOperationLog newTreeOpLog = log.append(treeOperationLog);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
84
92
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
85 JungleTreeEditor newEditor = new NetworkDefaultJungleTreeEditor<T>(treeName, newNode,txManager,editor,newTreeOpLog);
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
86 if(exportLog) {
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
87 try {
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
88 putTreeOperationLog(newTreeOpLog);
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
89 } catch (IOException e) {
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
90 return DefaultEither.newA(either.a());
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
91 }
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
92 }
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
94
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
95 return DefaultEither.newB(newEditor);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
96 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
97
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
98 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
99 public Either<Error,JungleTreeEditor> addNewChildAt(NodePath _path, int _pos)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
100 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
101 AppendChildAt appendChildAt = new AppendChildAt(_pos);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
102 return _edit(_path,appendChildAt);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
103 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
104
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
105 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
106 public Either<Error,JungleTreeEditor> deleteChildAt(NodePath _path, int _pos)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
107 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
108 DeleteChildAt deleteChildAt = new DeleteChildAt(_pos);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
109 return _edit(_path,deleteChildAt);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
110 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
111
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
112 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
113 public Either<Error,JungleTreeEditor> putAttribute(NodePath _path,String _key,ByteBuffer _value)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
114 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
115 PutAttribute putAttribute = new PutAttribute(_key,_value);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
116 return _edit(_path,putAttribute);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
117 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
118
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
119 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
120 public Either<Error,JungleTreeEditor> deleteAttribute(NodePath _path, String _key)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
121 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
122 DeleteAttribute deleteAttribute = new DeleteAttribute(_key);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
123 return _edit(_path,deleteAttribute);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
124 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
125
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
126 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
127 public Either<Error,JungleTreeEditor> edit(NodePath _path,NodeEditor _editor)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
128 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
129 return _edit(_path,_editor);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
130 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
131
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
132 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
133 public Either<Error,JungleTreeEditor> success()
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
134 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
135 Either<Error,TransactionManager<T>> either = txManager.commit(root,log);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
136 if(either.isA()){
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
137 return DefaultEither.newA(either.a());
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
138 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
139
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
140 TransactionManager<T> newTxManager = either.b();
92
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
141 JungleTreeEditor newTreeEditor = new NetworkDefaultJungleTreeEditor<T>(treeName, root,newTxManager,editor);
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
142
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
143 return DefaultEither.newB(newTreeEditor);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
144 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
145
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
146 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
147 public String getID()
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
148 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
149 return txManager.getUUID();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
150 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
151
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
152 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
153 public String getRevision()
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
154 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
155 return Long.toString(txManager.getRevision());
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
156 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
157
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
158 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
159 public Node getRoot()
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
160 {
43
12d87bb4b84d modified LogUpdateCodeSegment
one
parents: 42
diff changeset
161 return root.getAsNode();
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
162 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
163
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
164 public String getTreeName() {
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
165 return treeName;
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
166 }
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
167
92
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
168 public TreeOperationLog getTreeOperationLog() {
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
169 return log;
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
170 }
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
171
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
172 public void putTreeOperationLog(Iterable<TreeOperation> newLog) throws IOException {
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
173 String uuid = getID();
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
174 String treeName = getTreeName();
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
175 String updaterName = getID();
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
176 String revision = getRevision();
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
177 putDataSegment(uuid, treeName, updaterName, newLog, revision);
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
178 }
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
179
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
180 public void putDataSegment(String _uuid, String _treeName, String _updaterName, Iterable<TreeOperation> newLog, String nextRevision) throws IOException {
95
dcd767b76f8d Modified putDataSement for to use NetworkTreeOperationLog
one
parents: 93
diff changeset
181 NetworkTreeOperationLog netLog = new NetworkTreeOperationLog(_uuid, _treeName,newLog);
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
182 HashLogUpdateCodeSegment cs = new HashLogUpdateCodeSegment();
95
dcd767b76f8d Modified putDataSement for to use NetworkTreeOperationLog
one
parents: 93
diff changeset
183 cs.ods.put("log", netLog);
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
184 }
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
185
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
186
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
187
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
188 }