annotate src/main/java/alice/jungle/transaction/NetworkDefaultJungleTreeEditor.java @ 113:7d9b7fcb4d9a

Add LogPutCodeSegment
author one
date Wed, 04 Dec 2013 20:38:51 +0900
parents 8f9811a1e00c
children 6f104ab4eb81
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
113
7d9b7fcb4d9a Add LogPutCodeSegment
one
parents: 112
diff changeset
7 import alice.codesegment.CodeSegment;
95
dcd767b76f8d Modified putDataSement for to use NetworkTreeOperationLog
one
parents: 93
diff changeset
8 import alice.jungle.operations.NetworkTreeOperationLog;
113
7d9b7fcb4d9a Add LogPutCodeSegment
one
parents: 112
diff changeset
9 import app.bbs.codesegment.LogPutCodeSegment;
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
13 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
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.TreeNode;
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.DefaultTreeOperationLog;
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.LoggingNodeHook;
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.OperationLog;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
18 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
19 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
20 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
21 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
22 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
23 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
24 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
25 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
26 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
27 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
28 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
29 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
30 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
31 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter;
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 }
99
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
62
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
63 public static <T1 extends TreeNode<T1>> NetworkDefaultJungleTreeEditor<T1> NewLocalJungleTreeEditor(String _treeName, T1 _root,TransactionManager<T1> _txManager,TreeEditor _editor, TreeOperationLog _log) {
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
64 NetworkDefaultJungleTreeEditor<T1> treeEditor = new NetworkDefaultJungleTreeEditor<T1>(_treeName, _root,_txManager,_editor,_log);
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
65 treeEditor.exportLog = false;
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
66 return treeEditor;
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
67 }
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
68
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
69 private Either<Error,JungleTreeEditor> _edit(final NodePath _path,NodeEditor _e)
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 LoggingNodeHook hook = new LoggingNodeHook(_e);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
72 Either<Error,T> either = editor.edit(root,_path,hook);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
73 if(either.isA()){
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
74 return DefaultEither.newA(either.a());
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
75 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
76
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
77 T newNode = either.b();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
78 OperationLog newLog = hook.getLog();
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 IterableConverter.Converter<TreeOperation,NodeOperation> converter = new IterableConverter.Converter<TreeOperation,NodeOperation>(){
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
81 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
82 public TreeOperation conv(NodeOperation _b){
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
83 return new DefaultTreeOperation(_path,_b);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
84 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
85 };
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
86
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
87 Iterable<TreeOperation> iterable = new IterableConverter<TreeOperation,NodeOperation>(newLog,converter);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
88 DefaultTreeOperationLog treeOperationLog = new DefaultTreeOperationLog(iterable,newLog.length());
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
89 TreeOperationLog newTreeOpLog = log.append(treeOperationLog);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
90
99
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
91 JungleTreeEditor newEditor;
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
92 if(exportLog) {
102
6e2cec364e5a Modified NetworkDefaultTreeEditor
one
parents: 101
diff changeset
93 newEditor = new NetworkDefaultJungleTreeEditor<T>(treeName, newNode,txManager,editor,newTreeOpLog);
99
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
94 } else {
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
95 newEditor = NetworkDefaultJungleTreeEditor.NewLocalJungleTreeEditor(treeName, newNode, txManager, editor, newTreeOpLog);
55a4f2bb44a8 Fixed bug NetworkDefaultJungle
one
parents: 97
diff changeset
96 }
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
97 return DefaultEither.newB(newEditor);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
98 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
99
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
100 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
101 public Either<Error,JungleTreeEditor> addNewChildAt(NodePath _path, int _pos)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
102 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
103 AppendChildAt appendChildAt = new AppendChildAt(_pos);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
104 return _edit(_path,appendChildAt);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
105 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
106
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
107 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
108 public Either<Error,JungleTreeEditor> deleteChildAt(NodePath _path, int _pos)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
109 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
110 DeleteChildAt deleteChildAt = new DeleteChildAt(_pos);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
111 return _edit(_path,deleteChildAt);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
112 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
113
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
114 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
115 public Either<Error,JungleTreeEditor> putAttribute(NodePath _path,String _key,ByteBuffer _value)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
116 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
117 PutAttribute putAttribute = new PutAttribute(_key,_value);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
118 return _edit(_path,putAttribute);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
119 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
120
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
121 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
122 public Either<Error,JungleTreeEditor> deleteAttribute(NodePath _path, String _key)
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
123 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
124 DeleteAttribute deleteAttribute = new DeleteAttribute(_key);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
125 return _edit(_path,deleteAttribute);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
126 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
127
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
128 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
129 public Either<Error,JungleTreeEditor> edit(NodePath _path,NodeEditor _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 return _edit(_path,_editor);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
132 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
133
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
134 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
135 public Either<Error,JungleTreeEditor> success()
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
136 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
137 Either<Error,TransactionManager<T>> either = txManager.commit(root,log);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
138 if(either.isA()){
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
139 return DefaultEither.newA(either.a());
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
140 }
97
11ad00323206 Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents: 95
diff changeset
141 if(exportLog) {
11ad00323206 Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents: 95
diff changeset
142 try {
11ad00323206 Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents: 95
diff changeset
143 putTreeOperationLog(log);
11ad00323206 Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents: 95
diff changeset
144 } catch (IOException e) {
11ad00323206 Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents: 95
diff changeset
145 return DefaultEither.newA(either.a());
11ad00323206 Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents: 95
diff changeset
146 }
11ad00323206 Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents: 95
diff changeset
147 }
11ad00323206 Removed unnecessary files. Modified NetworkDefaultJungleTreeEditor
one
parents: 95
diff changeset
148
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
149 TransactionManager<T> newTxManager = either.b();
92
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
150 JungleTreeEditor newTreeEditor = new NetworkDefaultJungleTreeEditor<T>(treeName, root,newTxManager,editor);
12
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 return DefaultEither.newB(newTreeEditor);
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
153 }
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 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
156 public String getID()
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 return txManager.getUUID();
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
159 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
160
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
161 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
162 public String getRevision()
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
163 {
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
164 return Long.toString(txManager.getRevision());
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
165 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
166
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
167 @Override
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
168 public Node getRoot()
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
169 {
43
12d87bb4b84d modified LogUpdateCodeSegment
one
parents: 42
diff changeset
170 return root.getAsNode();
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
171 }
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
172
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
173 public String getTreeName() {
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
174 return treeName;
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
175 }
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
176
92
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
177 public TreeOperationLog getTreeOperationLog() {
e95faa202b4f Modified NetworkDefaultJungleTreeEditor class. Removed uuid and serverUpdater fields
one
parents: 91
diff changeset
178 return log;
46
fd3643699f83 modified pom.xml. fix conflict log4j libraries
one
parents: 43
diff changeset
179 }
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
180
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
181 public void putTreeOperationLog(Iterable<TreeOperation> newLog) throws IOException {
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
182 String uuid = getID();
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
183 String treeName = getTreeName();
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
184 String updaterName = getID();
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
185 String revision = getRevision();
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
186 putDataSegment(uuid, treeName, updaterName, newLog, revision);
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
187 }
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
188
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
189 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
190 NetworkTreeOperationLog netLog = new NetworkTreeOperationLog(_uuid, _treeName,newLog);
113
7d9b7fcb4d9a Add LogPutCodeSegment
one
parents: 112
diff changeset
191 CodeSegment cs = new LogPutCodeSegment(netLog);
106
f42f2e6b31de Removed project reference and Added dependency in pom.xml
one
parents: 105
diff changeset
192 cs.execute();
93
75cf01a430a6 Added LocalTreeEditor
one
parents: 92
diff changeset
193 }
12
80680cfcfd3b add jungle/test/transaction, jungle/test/core/NetworkDefaultJungle
one
parents:
diff changeset
194 }