comparison 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
comparison
equal deleted inserted replaced
94:47e337fc4086 95:dcd767b76f8d
3 3
4 import java.io.IOException; 4 import java.io.IOException;
5 import java.nio.ByteBuffer; 5 import java.nio.ByteBuffer;
6 6
7 import alice.jungle.datasegment.store.container.DefaultTreeOperationLogContainer; 7 import alice.jungle.datasegment.store.container.DefaultTreeOperationLogContainer;
8 import alice.jungle.operations.NetworkTreeOperationLog;
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor; 9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.JungleTreeEditor;
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node; 10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.core.Node;
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath; 11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.NodePath;
11 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor; 12 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.TreeEditor;
12 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;
22 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteChildAt; 23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.DeleteChildAt;
23 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor; 24 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
24 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.PutAttribute; 25 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.PutAttribute;
25 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager; 26 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.transaction.TransactionManager;
26 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither; 27 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
27
28 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; 28 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
29 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; 29 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
30 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter; 30 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.IterableConverter;
31 import jungle.app.bbs.codesegment.HashLogUpdateCodeSegment; 31 import jungle.app.bbs.codesegment.HashLogUpdateCodeSegment;
32 32
176 String revision = getRevision(); 176 String revision = getRevision();
177 putDataSegment(uuid, treeName, updaterName, newLog, revision); 177 putDataSegment(uuid, treeName, updaterName, newLog, revision);
178 } 178 }
179 179
180 public void putDataSegment(String _uuid, String _treeName, String _updaterName, Iterable<TreeOperation> newLog, String nextRevision) throws IOException { 180 public void putDataSegment(String _uuid, String _treeName, String _updaterName, Iterable<TreeOperation> newLog, String nextRevision) throws IOException {
181 DefaultTreeOperationLogContainer container = new DefaultTreeOperationLogContainer(); 181 NetworkTreeOperationLog netLog = new NetworkTreeOperationLog(_uuid, _treeName,newLog);
182 container.setTreeName(_treeName);
183 container.setUUID(_uuid);
184 container.setUpdaterName(_updaterName);
185 container.setRevision(nextRevision);
186 container.unconvert(newLog);
187 HashLogUpdateCodeSegment cs = new HashLogUpdateCodeSegment(); 182 HashLogUpdateCodeSegment cs = new HashLogUpdateCodeSegment();
188 cs.ods.put("log", container); 183 cs.ods.put("log", netLog);
189 cs.ods.put("logString", container.getHashLogString());
190 /* If this node is not Root node, push log to parent node's DS */
191 if(!_updaterName.equals("node0")) {
192 cs.ods.put("parent", "childLog", container);
193 }
194 } 184 }
195 185
196 186
197 187
198 } 188 }